我最近开始学习在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
的各种变种,但根本没有成功!
理想情况下,我希望我的value1
和value2
数字等于我之前在宏中定义的变量(1和2)
提前致谢
答案 0 :(得分:1)
这(例如)对我有用:
Debug.Print Application.Evaluate("SUM(A1:A5*B1:B5)")
您需要将公式构建为字符串,并且不要使用“=”和“{}”。
Debug.Print Application.Evaluate("Match(1,(Sheet1!A:A=" & val1 & _
")*(Sheet1!B:B=" & val2 & "),0)")