excel - Excel vba匹配两列
问题描述
根据我的工作表“KPI”中两列 D 和 H 的值,我想将这些值与工作表“Starters”中的两列 A 和 B 相匹配,以返回 C 列中的值
首先我用工作表中的公式进行了测试,这很好用
=INDEX(Starters!C2:C9;VERGELIJKEN(KPI!D3&KPI!H3;Starters!A2:A9&Starters!B2:B9;0))
其次,我想在 VBA 宏中使用它。我用 :
p = Application.Index(Worksheets("Starters").Range("C2:C9"), Application.Match(XRg3.Cells(K, 1).Value & XRg4.Cells(K, 1).Value, Worksheets("Starters").Range("A2:A9") & Worksheets("Starters").Range("B2:B9"), 0))
它不起作用。
这里是使用的变量
Set XRg3 = Worksheets("KPI").Range("D2:D" & J)
Set XRg4 = Worksheets("KPI").Range("H2:H" & J)
在循环中使用
For K = 1 To I
返回值 XRg3.Cells(K, 1).Value 和 XRg4.Cells(K, 1).Value 已经过调试并且没问题。
使用下面的 VBA 代码返回一个值可以正常工作。
p = Application.Index(Worksheets("Starters").Range("C2:C9"), Application.Match(XRg3.Cells(K, 1).Value , Worksheets("Starters").Range("A2:A9") , 0))
解决方案
推荐阅读
- python - sns matplotlib 输出切片保存的图像
- postgresql - Postgresql 计算嵌套 json 中值的出现次数
- python - 如何通过实时流输入到 pandas 数据框?
- spring - 在 Spring Boot Cloud Kubernetes 本地测试中调用 listNamespacedConfigMap(Async) 时缺少必需的参数“命名空间”
- javascript - 从对象数组中删除对象的问题
- sql - DB2 存储过程 IF/ELSE —— 我缺少什么?
- caching - 如何知道资源是否真正从 chrome devtools 的缓存中加载?
- python - 在命令提示符下为 Python 输出构建 Sublime
- python - 如何实现“软件中断”?
- git - git status 的 Git 别名列出了相对于存储库根目录的文件