我有一个值是数组常量的单元格,例如,单元格A1设置为 ={1,2,3,4,5,6}
然后,我在VBA中定义了一个函数:
Function MyFunc(Data)
MyFunc = Data.Rows.Count
End Function
Run Code Online (Sandbox Code Playgroud)
我希望函数在可能的情况下返回数组的长度(6)=MyFunc(A1),但是使用调试器,我发现函数接收的'Data'变量仅包含该数组的第一个元素。
Data.Rows.Count评估为1并TypeName(Data)评估为“范围”
还有另一种方法:
Function myFunc(Data)
myFunc = UBound(Evaluate(Data.Formula))
End Function
Run Code Online (Sandbox Code Playgroud)