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)
归档时间: |
|
查看次数: |
24902 次 |
最近记录: |