如何使用Evaluate方法评估数组公式
在VBA中, Evaluate()
和[]
方法都可以用来返回数组:
Dim i As Variant i = Evaluate("{1,2;3,4}") i = [{1,2;3,4}]
两行设置i
是一个二维数组包含数字1-4。 一个附加的function是Evaluate(...)(1,2)
返回数组的R1C2索引元素(即2 – [...](1,2)
同时错误)
我想知道是否有任何语法评估数组返回工作表函数以相同的方式,例如
i = Evaluate("LEN(A1:A5)>3") 'or similar like [{LEN(A1:A5)>3}]
如果我在A4
和A5
文字长度超过3个字符,应该返回1D数组,如{False,False,False,True,True}
,但是不是。
如果没有,是否有另一种评估数组公式的方法来返回完整的数组? 我正在寻找任何方法提供最小的字符数。
要返回一个数组,你需要使用一个支持数组的函数。
通常与VBA一起使用来计算expression式的函数是INDEX,因为它不会改变这些值:
Dim data() data = Evaluate("INDEX(LEN(A1:A5)>3,)")