使用macrosExcel VBA基于键从Excel表格中检索值
我想写一些macros从另一个excel工作表基于我当前工作表中的值检索一些数据。
现在我的当前工作表(Sheet1)有这个属性“地址”,我想将它映射到另一个工作表(Sheet2),它也具有相同的属性“地址”。 我想根据两张表中的相同地址检索表2中的另一个单元值“道路名称”。
我的代码行如下所示:
Sheets("Sheet1").Cells(row, 9).Value = ??
任何人都有任何想法,如果有任何内置的function在Excel VBA这样做?
如上所述, VLookup
可能是最好的解决scheme。 如果您不想在每次input新的“地址”时在工作表中input公式,则可以使用以下两种方法之一在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列中。