首页 > 解决方案 > 如何在 VBa 中使用 Vlookup?

问题描述

这是我为在 Vba 中使用 Vlookup 而编写的代码,但我不断收到

运行时错误 1004 无法获取 Worksheet 函数类的 Vlookup 属性

If WorksheetFunction.IsNA(Application.WorksheetFunction.VLookup(ListBox1.Selected(0), Range("B4:C7"), 2, False)) = True Then
'Create row
 Range("EndlineFM").Select
   Selection.Insert Shift:=xlDown
 'Initialise Detail and montant of new row
   Range("TotalF").Offset(-1, 0) = FraisM.ListBox1.Selected(0)
Range("TotalF").Offset(-1, 1) = CSng(FraisM.Chiffremontant)

我该如何解决?谢谢!

标签: excelvbavlookup

解决方案


Application.WorksheetFunction.VLookup如果找不到匹配项,将始终引发运行时错误 - 您无法使用IsNA()

你可以这样做没有WorksheetFunction

Dim m    

m = Application.VLookup(ListBox1.Selected(0), Range("B4:C7"), 2, False))

If IsError(m) Then
    'Create row
     Range("EndlineFM").Insert Shift:=xlDown
     'Initialise Detail and montant of new row
     Range("TotalF").Offset(-1, 0) = FraisM.ListBox1.Selected(0)
     Range("TotalF").Offset(-1, 1) = CSng(FraisM.Chiffremontant)
     'etc

推荐阅读