在vba中进行vlookup

在vba中进行vlookup,vba,Vba,我有两本作业本。在第一个工作簿(包含宏)中,我尝试进行vlookup以确定值strCompany是否存在于第二个工作簿(tmp_工作簿)的a列中 我发现以下VBA错误: “无法获取工作表函数类的Vlookup属性)” VLookup在一行中使用,只返回相同的值。您可以使用CountIf了解该值是否存在 company_exists_in_list =Application.WorksheetFunction.CountIf(tmp_workbook.ActiveSheet.Range("A1:A

我有两本作业本。在第一个工作簿(包含宏)中,我尝试进行vlookup以确定值strCompany是否存在于第二个工作簿(tmp_工作簿)的a列中

我发现以下VBA错误: “无法获取工作表函数类的Vlookup属性)”


VLookup
在一行中使用,只返回相同的值。您可以使用
CountIf
了解该值是否存在

company_exists_in_list =Application.WorksheetFunction.CountIf(tmp_workbook.ActiveSheet.Range("A1:A100000"),strCompany)

如果该值不同于0,则该公司存在。

如果
strCompany
列A
中不存在,则会出现错误。可以尝试使用
.Find
,因为它可以更优雅地处理找不到匹配项的情况删除
.WorkSheetFunction
部分。这将允许错误进入变量。然后测试变量的错误。
company_exists_in_list =Application.WorksheetFunction.CountIf(tmp_workbook.ActiveSheet.Range("A1:A100000"),strCompany)