ユーザー定義関数では「配列名()as データ型()」とすることで、配列を返すことが出来る。

ユーザー定義関数で配列を使うメリットは、返り値が複数ある場合に便利だ。

例えば、アクティブブックど同じフォルダーにあるExcelファイル一覧を入手したい場合、

 

Function GetFileName() As String() 
    Dim FileName As String
    FileName = Dir(ThisWorkbook.Path & "\") 
    Dim OutPut() As String, i As Integer
    i = 1
    Do While FileName <> ""
        ReDim Preserve OutPut(i)
        OutPut(i) = FileName
        FileName = Dir()
        i = i + 1
    Loop
    GetFileName = OutPut
End Function

 

…と定義しておけば、返り値が配列で返されるため、Lbound,Uboundでループ処理にかけることでフォルダー内のファイルに処理をかけることが出来る。