背景:
我需要检索数组公式(在 excel 界面中)计算的值,以便循环遍历那里的结果。
问题:
我还没有找到一种方法来存储它计算的所有值。我只能存储第一个。
代码:
Sub test()
Dim ArrTopValues() As Long
'Fails
ArrTopValues = Application.Evaluate("=LARGE(A1:A11,{1,2,3})")
End Sub
我需要通过按“F9”来处理公式可以在 Excel 界面上保存的 3 个值
进一步的想法
我知道我可以编写一个 UDF 来重新创建大型函数(或者甚至只是评估大型函数上的“k”并以这种方式构建 Array 变量)。请理解,我正在寻找如何为更多场景存储此数组评估,并且已经完成了解决此问题的解决方法以“使其工作”。
最佳答案
使用 INDEX 返回数组,您需要使数组成为变体:
Sub test()
Dim ArrTopValues()
ArrTopValues = Application.Evaluate("=INDEX(LARGE(A1:A11,{1,2,3}),0)")
End Sub
关于excel - 将 FormulaArray 求值保存到实际数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50866161/