Joe*_*Joe 8 arrays excel vba user-defined-functions
我在VBA中有一个生成字符串数组的函数.从另一个VBA函数调用它时工作正常,但从工作表调用时则不行.
以下是它应该如何使用:
=Test(),然后点击Ctrl-Shift-Enter使其成为一个数组函数A,A2应该包含B,而A3应该包含C当我实际尝试这个时,它会放入A数组的所有三个单元格.如何将返回的数据Test输入到阵列的不同单元格中?
对于那些想要看到它的人来说,这是函数的代码.请记住,从其他函数调用时,该函数可以正常工作.
Function Test() As String()
Dim a(1 To 3) As String
a(1) = "A"
a(2) = "B"
a(3) = "C"
Test = a
End Function
Run Code Online (Sandbox Code Playgroud)
如果转置数据,则函数可以正常工作.要做到这一点,您需要Variant()而不是String():
Function Test() As Variant()
Dim a(1 To 3) As Variant
a(1) = "A"
a(2) = "B"
a(3) = "C"
Test = Application.Transpose(a)
End Function
Run Code Online (Sandbox Code Playgroud)