我正在尝试编写一些宏,根据当前工作表中的值从另一个Excel工作表中检索一些数据。
现在我的当前工作表(Sheet1)具有此属性"地址"我想把它映射到另一张表(Sheet2),它也具有相同的属性"地址"。我想检索另一个单元格值"道路名称"在表2中基于两个表中的相同地址。
我的代码行如下所示:
Sheets("Sheet1").Cells(row, 9).Value = ??
任何人都知道excel VBA中是否有任何内置函数可以执行此操作?
答案 0 :(得分:1)
根据建议,VLookup
可能是最佳解决方案。如果您不想在每次输入新“地址”时在工作表中输入公式,则可以通过以下两种方式之一在VBA中使用VLookup
。
首先,您可以将公式写入Excel,以便Excel执行VLOOKUP
:
Sheets("Sheet1").Cells(row, 9).FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C1:C2,2,FALSE)"
其次,您可以使用Application.VLookup
函数,以便VBA执行VLookup
并将值写入单元格:
Sheets("Sheet1").Cells(row, 9).Value = Application.VLookup(Sheets("Sheet1").Cells(row, 8).Value, _
Sheets("Sheet2").Range("A:B"),2,False)
注意:在这两种情况下,我都假设“地址”在“Sheet1”的H列中,而“地址”和“道路名称”在“Sheet2”的A:B列中。