【发布时间】:2018-04-05 12:22:49
【问题描述】:
vba 函数是否可以返回数组值并使用 excel 公式粘贴到工作表中?
例如,我想在 Excel 单元格中写一个公式,比如 A1,例如 =GetData(),然后按 Enter。它返回 4 个指标,其中填充了 A1:A4、B1:B4 单元格。
我尝试将 Variant 和 Collection 作为返回类型。值在那里,但它只填充第一个单元格。
Function GetData(Input1 As Range) As Variant
Dim value() As Variant
value(1, 1) = "somevalue"
value(1, 2) = "somevalue"
............
value(2, 2) = "somevalue"
GetData = value
End Function
【问题讨论】:
-
我相信,如果您返回一个数组,您必须选择多个单元格并按 shift-enter 才能获取所有这些值。您可以使用 index() 来获取数组中的特定值,例如:=INDEX(A1:A4,3)
标签: arrays excel vba function formula