如何使用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}] 

如果我在A4A5文字长度超过3个字符,应该返回1D数组,如{False,False,False,True,True} ,但是不是。

如果没有,是否有另一种评估数组公式的方法来返回完整的数组? 我正在寻找任何方法提供最小的字符数。

要返回一个数组,你需要使用一个支持数组的函数。

通常与VBA一起使用来计算expression式的函数是INDEX,因为它不会改变这些值:

 Dim data() data = Evaluate("INDEX(LEN(A1:A5)>3,)")