excel - VBA 代替 vlookup
问题描述
我刚开始使用VBA。我有一个有两张纸的工作簿。在第一张纸上,在“D”列中,我有零件编号。在第二张纸上,我再次在“A”列中有部件号,在“B”列中有每个部件号的描述。在 Sheet1 上,我想收集以下数据:
- 如果 Sheet2 列“A”包含来自 Sheet1 列“D”的零件号,则列“O”值需要是 Sheet2 列“B”。
现在通过录制宏自己使用Vlookup:
Application.CutCopyMode = False
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],'RIG MB'!C[-14]:C[-13],2,0)"
Range("O2").Select
Selection.AutoFill Destination:=Range("O2:O3430")
Range("O2:O3430").Select
我需要一个 vba 代码,但不是 vlookup 工作表函数,我需要更快的东西。我也想循环它,直到 Sheet1 列“D”中有数据。先感谢您!
解决方案
这是一个不循环的示例,但应该比 VLOOKUP 更快:
Range("O2:O3430").Formula = "=INDEX('RIG MB'!B:B, MATCH(D2, 'RIG MB'!A:A, 0))
推荐阅读
- java - 为什么我的重写paintComponent方法没有被调用
- python - 在第三个中创建两个模型之间的关系
- json - jq 将命名数组转换为列表
- asynchronous - 我怎样才能等待一个变量
- scala - Spark Sql 排序操作无法正常工作
- php - 如何更改数组中的结果?
- javascript - 切换功能有效,但 jQuery 中的 slideToggle 无效
- r - 一旦我在 Quantstrat R 中有一个职位,就停止添加更多职位
- javascript - HTTP 错误:400,请求有错误错误:函数未正确部署。firebase-实时数据库
- java - 如何从 Servlet 获取和 XML 文件