Excel VBA 中的动态参考单元格
Dynamic reference cell in Excel VBA
有没有办法让这个公式在 VBA 中动态化?
Range("A" & alastrow + 2).FormulaArray = "=IFERROR(INDEX('Data'!$D$9:$D$1642,MATCH(0,IF(B18='Data'!$G$9:$G$1642,COUNTIF(A17,'Data'!$D$9:$D$1642), """"), 0)), """")"
我希望 B18 和 A17 根据我的数据在 sheet 上的起始位置进行更改,但我不确定该怎么做。我不确定这是否重要,但数组开头之前引用的范围是 A18。有谁知道我怎么能做到这一点?谢谢。
正如一些同事试图在评论中解释的那样,您必须使用 &
运算符将公式的静态部分与变量 alastrow
连接(连接)起来。看一看:
Range("A" & alastrow + 2).FormulaArray = "=IFERROR(INDEX('Data'!$D:$D42,MATCH(0,IF(" & alastrow & "='Data'!$G:$G42,COUNTIF(" & alastrow & ",'Data'!$D:$D42), """"), 0)), """")"
有没有办法让这个公式在 VBA 中动态化?
Range("A" & alastrow + 2).FormulaArray = "=IFERROR(INDEX('Data'!$D$9:$D$1642,MATCH(0,IF(B18='Data'!$G$9:$G$1642,COUNTIF(A17,'Data'!$D$9:$D$1642), """"), 0)), """")"
我希望 B18 和 A17 根据我的数据在 sheet 上的起始位置进行更改,但我不确定该怎么做。我不确定这是否重要,但数组开头之前引用的范围是 A18。有谁知道我怎么能做到这一点?谢谢。
正如一些同事试图在评论中解释的那样,您必须使用 &
运算符将公式的静态部分与变量 alastrow
连接(连接)起来。看一看:
Range("A" & alastrow + 2).FormulaArray = "=IFERROR(INDEX('Data'!$D:$D42,MATCH(0,IF(" & alastrow & "='Data'!$G:$G42,COUNTIF(" & alastrow & ",'Data'!$D:$D42), """"), 0)), """")"