Gre*_*edo 8 arrays excel vba excel-vba excel-formula
在VBA中,Evaluate()和[]方法都可以用于返回数组:
Dim i As Variant
i = Evaluate("{1,2;3,4}")
i = [{1,2;3,4}]
Run Code Online (Sandbox Code Playgroud)
两行都设置i为包含数字1-4的2D数组.增加的功能是Evaluate(...)(1,2)返回数组的R1C2索引元素(即2 - [...](1,2)同时出错)
我想知道是否有任何语法以相同的方式评估数组返回工作表函数,例如
i = Evaluate("LEN(A1:A5)>3") 'or similar like [{LEN(A1:A5)>3}]
Run Code Online (Sandbox Code Playgroud)
应该返回1D数组,{False,False,False,True,True}如果我在A4&中有超过3个字符的文本A5,但它没有.
如果没有,是否还有另一种评估数组公式的单线方式来返回完整的数组?我正在寻找任何方法给出最小的字符数.
要返回数组,您需要使用支持数组作为结果的函数。
通常与 VBA 一起使用来计算数组表达式的函数是INDEX,因为它不会改变值:
Dim data()
data = Evaluate("INDEX(LEN(A1:A5)>3,)")
Run Code Online (Sandbox Code Playgroud)