excel - 如何使用 vlookup 在另一张表的 G 列中查找值?
问题描述
我正在处理一张名为“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 的索引)。但是,这似乎不起作用。
如果您知道我的错误可能在哪里,请告诉我。
谢谢 :)
解决方案
尝试使用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
匹配中的意思是“完全匹配”
推荐阅读
- python - 如何优化代码以制作基于 Pandas 列值垂直堆叠的列表?
- javascript - 无法将文件上传到 Firebase 存储
- spring-boot - JWT 在不同的成功登录用户中成功验证
- c - 在ubuntu中编译ac程序后的可执行文件在哪里?
- angularjs - Angularjs:使用 ng-if 过滤 ng-repeat
- fullcalendar - Fullcalendar 使用资源作为选择菜单的功能
- javascript - 为什么我收到无法读取未定义的属性“状态”?
- javascript - Redux 商店没有更新
- powershell - 使用带有局部变量和 Invoke-Command 的 add 方法
- android - Android Studio 构建失败:Android 资源链接失败,未能创建目录 C:\tmp\