2017-04-12 62 views
0

我想写一些宏从另一个excel表格基于当前表格中的值检索一些数据。基于使用宏的键从Excel表格中检索值Excel VBA

现在我的当前工作表(Sheet1)具有此属性“地址”,我想将其映射到另一个工作表(Sheet2),该工作表也具有相同的“地址”属性。我想根据两张表中的相同地址检索表2中的另一个单元格值“道路名称”。

我的代码行看起来是这样的:

Sheets("Sheet1").Cells(row, 9).Value = ?? 

任何人有任何想法,如果有在Excel VBA中,这是否任何内置的功能呢?

+1

你需要VBA吗?从我所看到的,'vlookup()'可能工作?你的数据是什么样的,你期望会发生什么? – BruceWayne

+0

我想自动填写表3,其中包含道路名称,地址。有很多行,所以我想自动化过程。 – decemberrobot

+0

您可能想要发布样本数据 - 电子表格图片或其他内容 - 您还尝试了什么vba? – 0m3r

回答

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栏中。