ja7*_*a72 2 arrays excel vba excel-vba
就像标题所说,一个单元格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.
您可以先获取对象的FormulaArray属性Range,然后Evaluate返回完整的数组:
v = Evaluate(Range("A1").FormulaArray)
Run Code Online (Sandbox Code Playgroud)
您可以按预期访问元素(和/或将它们操作为Array正常声明):
v(1) --> 1
v(2) --> 2
v(3) --> 3
Run Code Online (Sandbox Code Playgroud)