[[20211110135706]] 『VBAでVLOOKUP関数にIFERRORを追加する方法』(綾鷹) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAでVLOOKUP関数にIFERRORを追加する方法』(綾鷹)

下記のVBAプログラムでセルに直接VLOOKUP関数を書き込む場合、エラー文字を空白で表記したいので、IFERROR関数を追加したいと思っています。
なお、直接数式入力式にこだわっているわけではありませんので他の方法があれば教えていただけると幸いです。

Sub Sample()

    Dim SerchKey As Range '検索値
    Dim SerchArr As Variant '検索用格納配列
    Dim OutputRange As Range '出力範囲
    Dim i As Long

    Set SerchKey = Worksheets("予定表").Range("F11:F300")
    Set OutputRange = Worksheets("予定表").Range("N11:N300")

    SearchArr = Range(SerchKey, OutputRange)
    For i = 1 To SerchKey.Rows.Count
        SearchArr(i, 1) = "=VLOOKUP(F" & i + 10 & ",リスト!$J$3:$K$500,2,0)"
    Next

    OutputRange = SearchArr

End Sub

・リストシートには住所・期日のデータがJ3〜K500まであります
・予定表シートには翌日の予定を別媒体からもってきてコピペします
・そこに住所(F11〜変動)があるのでリストデータと一致する住所にのみコメント欄(N11〜変動)にリストに該当する期日を引用
・リストにない住所のコメント欄はVLOOKUPのエラーメッセージを出さないようにしたい。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


=IFERROR(VLOOKUP(F" & i + 10 & ",リスト!$J$3:$K$500,2,0),"")

とすればいいのでは。

(PP) 2021/11/10(水) 15:00


 下記にすればいいでしょう。

    SearchArr(i, 1) = "=IFERROR(VLOOKUP(F" & i + 10 & ",リスト!$J$3:$K$500,2,0),"""")"

 式を設定したいなら、直接指定したほうがシンプルだし速いと思います。

 Sub Sample()
    Dim OutputRange As Range '出力範囲
    Set OutputRange = Worksheets("予定表").Range("N11:N20")
    OutputRange.Formula = "=IFERROR(VLOOKUP(F11,リスト!$J$3:$K$500,2,0),"""")"
 End Sub

(hatena) 2021/11/10(水) 15:09


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.