如何用VBA语法编写数组公式(不是Excel公式)
要使用两个条件进行查找,在Excel公式中,它将写为:如何用VBA语法编写数组公式(不是Excel公式),vba,excel,syntax,match,Vba,Excel,Syntax,Match,要使用两个条件进行查找,在Excel公式中,它将写为: {MATCH(1, 1*(A1:A5=100)*(B1:B5=150), 0)} 如何用VBA语法为WorksheetFunction.Match函数编写上述公式?请考虑: Sub dural() Dim m As Long With Application.WorksheetFunction m = .Match(1, [1*(A1:A5=100)*(B1:B5=150)], 0) End Wi
{MATCH(1, 1*(A1:A5=100)*(B1:B5=150), 0)}
如何用VBA语法为WorksheetFunction.Match函数编写上述公式?请考虑:
Sub dural()
Dim m As Long
With Application.WorksheetFunction
m = .Match(1, [1*(A1:A5=100)*(B1:B5=150)], 0)
End With
MsgBox m
End Sub
这显示了工作表中的数组公式和VBA等效项。我没有足够的代表发表评论。。 这是为了帮助任何人搜索如何使用Gary学生的答案和变量。我为此挣扎了一个多小时。 使用的括号[]是evaluatestring的快捷方式 您必须替换它们并将它们包装在evaluate方法中。 由于参数是一个字符串,因此可以使用所需的变量自行构造字符串
Sub dural()
Dim m As Long
With Application.WorksheetFunction
m = .Match(1, evaluate("1*(A1:A5=100)*(B1:B5=150)"), 0)
End With
MsgBox m
结束Sub太棒了!非常感谢@Gary的学生如何使用变量替换100和150?当我用变量填充这些值时,我得到了一个错误。似乎没有与&right进行连接。这信息太多,无法作为注释!虽然不确定评估方法的含义。。。