How to pass an array to a function in VBA?

前端 未结 2 1570
挽巷
挽巷 2021-02-02 07:42

I am trying to write a function that accepts an array as an argument. The array can have any number of elements.

Function processArr(Arr() As Variant) As String
         


        
2条回答
  •  一向
    一向 (楼主)
    2021-02-02 08:19

    Your function worked for me after changing its declaration to this ...

    Function processArr(Arr As Variant) As String
    

    You could also consider a ParamArray like this ...

    Function processArr(ParamArray Arr() As Variant) As String
        'Dim N As Variant
        Dim N As Long
        Dim finalStr As String
        For N = LBound(Arr) To UBound(Arr)
            finalStr = finalStr & Arr(N)
        Next N
        processArr = finalStr
    End Function
    

    And then call the function like this ...

    processArr("foo", "bar")
    

提交回复
热议问题