在VBA中,Evaluate()
和[]
方法都可以用于返回数组:
Dim i As Variant
i = Evaluate("{1,2;3,4}")
i = [{1,2;3,4}]
这两行将i
设置为包含数字1-4的2D数组。增加的功能是Evaluate(...)(1,2)
返回数组的R1C2索引元素(即2 - [...](1,2)
同时出错)
我想知道是否有任何语法以相同的方式评估数组返回工作表函数,例如。
i = Evaluate("LEN(A1:A5)>3") 'or similar like [{LEN(A1:A5)>3}]
如果我{False,False,False,True,True}
&中有超过3个字符的文字,则应该返回A4
之类的1D数组。 A5
,但事实并非如此。
如果没有,是否有另一种评估数组公式以返回完整数组的单线方式?我正在寻找任何方法给出最小的字符数。
答案 0 :(得分:3)
要返回数组,您需要使用支持数组的函数。
通常与VBA一起用于评估数组表达式的函数是INDEX,因为它不会改变值:
Dim data()
data = Evaluate("INDEX(LEN(A1:A5)>3,)")