【问题标题】:How do i find a value in column G of another sheet using vlookup?如何使用 vlookup 在另一张表的 G 列中找到一个值?
【发布时间】:2019-05-30 04:12:58
【问题描述】:

我正在处理一个名为“Master Filtered”的工作表,其中 K 列的值应该用工作表“Ndex Positions”列 G 中的查找值填充。

这是我写的一段代码

Sub MTL_OR_TOR()
Dim AcctNb As String
Dim result As String
Dim myRange As Range


Dim lastrow As Long
lastrow = Worksheets("Master Filtered").Cells(Rows.Count, 1).End(xlUp).Row

Worksheets("Master Filtered").Range("K3").Value = "MTL OR TOR"

Set myRange = Worksheets("Ndex Positions").Range("A2:G9000") 'Range in which the table MTL or TOR should be entered


For G = 4 To lastrow

AcctNb = Worksheets("Master Filtered").Cells(G, 3).Value
result = Application.WorksheetFunction.VLookup(AcctNb, myRange, 7, False)

Worksheets("Master Filtered").Range("K" & G).Value = result
Next

End Sub

但这似乎不起作用(“无法获取 WorksheetFucntion 类的 Vlookup 属性”)

我不知道我的错误是什么。如果这有帮助,当我在以下行中用数字 2 替换数字 7 时:“result = Application.WorksheetFunction.VLookup(AcctNb, myRange, 7, False)” 一切正常。但它从 B 列而不是 G 列获取值。这就是为什么我将 2 替换为 7(字母表中字母 G 的索引)。但是,这似乎不起作用。

如果您知道我的错误可能在哪里,请告诉我。

谢谢:)

【问题讨论】:

    标签: excel vba vlookup


    【解决方案1】:

    尝试使用Index/Match 进行精确引用...

    Application.Index(OutputRange, Application.Match(LookupVal, LookupRange,0))
    

    使用您的数据,假设我得到正确的Match 范围(假设您在 A 列中找到您的 AcctNb):

    AcctNb = Worksheets("Master Filtered").Cells(G, 3).Value
    With Worksheets("Ndex Positions")
        Application.Index(.Range("G:G"), Application.Match(AcctNb, .Range("A:A"),0))
    End With
    

    注意匹配中的0 表示“完全匹配”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-12
      相关资源
      最近更新 更多