【问题标题】:Retrieving values from excel sheet based on key using macros Excel VBA使用宏Excel VBA根据键从excel表中检索值
【发布时间】:2017-04-12 03:08:31
【问题描述】:

我正在尝试编写一些宏,根据我当前工作表中的值从另一个 Excel 工作表中检索一些数据。

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

我的代码行如下所示:

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

任何人都知道excel VBA中是否有任何内置函数可以做到这一点?

【问题讨论】:

  • 您需要 VBA 吗?据我所知,vlookup() 可能有用吗?您的数据是什么样的?您预计会发生什么?
  • 我想用道路名称、地址自动填充工作表 3。有很多行,所以我想自动化这个过程。
  • 您可能想发布示例数据-电子表格图像或其他东西-您还尝试过什么-vba?

标签: vba excel


【解决方案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 列中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多