自定义函数的返回结果可以是数组吗?
如果能的话,请给一个简单的例子吧,如果不能请问有什么办法,让返回一个数族啊

解决方案 »

  1.   


    function A() as long()
      ...
    end function调用:
    dim b() as long
    b=a
      

  2.   

    用这种方式实现:
    Private Function GetArray(ByRef aArray() As String) As StringEnd Function在函数内部改变aArray()数组的值
      

  3.   


    Private Sub Command1_Click()
        Dim a() As String       '声名动态数组
        ReDim a(3) As String
        a(0) = "a"
        a(1) = "b"
        a(2) = "c"
        SetArray a()
        
        '查看结果
        Debug.Print a(0)
        Debug.Print a(1)
    End Sub'按地址传递数组参数:
    Private Function SetArray(ByRef aArray() As String) As String
         ReDim Preserve aArray(1) As String  '改变数组大小
         aArray(0) = "1"                     '对数组赋值
    End Function
      

  4.   

    Private Sub Command1_Click()
    MsgBox Join(arrayx(10), vbCrLf)
    End Sub
    Function arrayx(ByVal n As Long)
    Dim i As Long
    Dim x() As String
    ReDim x(n)
    For i = 0 To n
    x(i) = i
    Next
    arrayx = x
    Erase x
    End Function