1. ホーム
  2. vba

[解決済み] エクセルVBAです。エラー1004 WorkSheetFunction 'Unable to get Vlookup property'

2022-02-09 14:55:30

質問

Excel2010で、以下のようなVBAを簡単に書こうとしています。

  • Vlookupを使用して値を検索する
  • 3列目の値を返す
  • 指定されたセルにこの値を設定する

私が苦労しているのは、この数式です。

Sub Metrics123()
    Dim x As Integer        
    x = Application.WorksheetFunction.VLookup("Test", "A7:D9", 3, False)
    Range("A1").Value = x    
End Sub

これを実行すると error 1004: 'Unable to get the Vlookup Property of the WorksheetFunction

何かご指摘がありましたらお願いします。

どのように解決するのですか?

2つの方法をご紹介します。

1) 使用方法 .Formula プロパティを使用します。

With ThisWorkbook.Worksheets("Sheet1").Range("A1")
    .Formula = "=VLOOKUP(""Justin"",A7:D9,3,FALSE)"
    .Value = .Value
End With

ここで .Value = .Value 数式をその結果で書き換える

2) 使用 Application.VLookupRange("A7:D9") 代わりに "A7:D9" :

Dim x
With ThisWorkbook.Worksheets("Sheet1")
    x = Application.VLookup("Justin", .Range("A7:D9"), 3, False)
    Range("A1").Value = x
End With

なお、この xVariant というのも、何も見つからなかった場合 Application.VLookup が返されます。 Error 2042 ( #N/A )