excel - vba 索引与多个条件匹配
问题描述
我正在尝试将 R1C1 vba 公式转换为“A1”类型的代码。
ActiveCell.Formula2R1C1 = "=INDEX(C3,MATCH(RC[-1]&R2C6,C1&C5,0))"
在电子表格中是: =INDEX($C:$C,MATCH(H2&$F$2,$A:$A&$E:$E,0))
我尝试了以下但我没有得到正确的结果,请指导。
a = Application.WorksheetFunction.Index(Range("C:C"), _
Application.WorksheetFunction.Match(Range("H2").Value, Range("A:A"), 0) + _
Application.WorksheetFunction.Match(Range("F2").Value, Range("E:E"), 0), 0)
谢谢你。
解决方案
将公式转换=INDEX($C:$C,MATCH(H2&$F$2,$A:$A&$E:$E,0)
为 VBA 并不简单,因为$A:$A&$E:$E
. 您需要创建一个数组来连接 A 列和 E 列中的值。此外,Match
与数组一起使用时比与Range
.
一种解决方法就是在Evaluate
这里使用:
Dim a
a = ActiveSheet.Evaluate("=INDEX($C:$C,MATCH(H2&$F$2,$A:$A&$E:$E,0))")
推荐阅读
- go - 为什么 mklink /j 在手动输入时有效,但在使用 exec.Command 运行时无效?
- r - R:如何正确抵消 ggplot2 中每日数据的年季标签?
- spring-boot - 我的 Spring-Boot 应用程序不会停止在 IntelliJ 中运行
- excel - 嵌入式 OLEO 对象在编辑时会覆盖自身
- html - 无法按预期实施 Bootstrap 4 设计
- php - 如何连接sybase和laravel 8.0?
- oracle - Oracle 数据库容量规划
- google-cloud-platform - 在气流中触发 DAG 后的错误(作曲家)
- python - Python Selenium 在特定日期查找元素(标题)
- jenkins - 如何将声明性 jenkins 管道中的 shell 部分写入 groovy?