0

我最近开始学习在 Excel 中创建 VBA 宏,但是,我完全不知道如何在我的宏中创建 CSE 数组公式

我想将变量定义为工作表中 A 列中的值 = 值 1 和 B 列 = 值 2 的行

在 excel 本身中,以下公式完美运行: {=Match(1,(A:A=1)*(B:B=2),0)}

但是,我现在想在我的宏中使用它: variable = {=Match(1,(Sheets("Right Sheet").range("A:A")=value1)*(Sheets("Right Sheet").range("B:B")=value2),0)}

任何人都可以对此提供任何启示?我玩过各种变种,ArrayFormula但完全没有成功!理想情况下,我希望我的value1value2数字等于之前在我的宏中定义的变量(1 和 2)

提前致谢

4

1 回答 1

2

这(例如)对我有用:

Debug.Print Application.Evaluate("SUM(A1:A5*B1:B5)")

您需要将公式构建成一个字符串,并去掉“=”和“{}”。

Debug.Print Application.Evaluate("Match(1,(Sheet1!A:A=" & val1 & _
                                  ")*(Sheet1!B:B=" & val2 & "),0)")
于 2012-12-06T18:49:23.380 回答