与标题一样,单元格A1
包含公式={1,2,3}
,它是单元格的有效输入,我可以使用VBA获取数组的元素。
请注意,Range("A1").Value
会返回值1
,但Range("A1").Formula
会返回字符串={1,2,3}
。因此,我能想到的唯一方法是解析公式并将值与,
分开(如CSV行)。
在这种情况下,还有其他方法可以在vba中返回值数组。我甚至尝试将其作为数组读入v=Range("A1:A2").Value2
的变体,但v(1)
仅包含1
。
答案 0 :(得分:6)
您可以先获取FormulaArray
对象的Range
属性,然后Evaluate
它以返回完整数组:
v = Evaluate(Range("A1").FormulaArray)
您可以按预期访问元素(和/或将它们操作为正常声明Array
):
v(1) --> 1
v(2) --> 2
v(3) --> 3