使用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列中。