Excel VBA | 配列を返す関数

VBA
スポンサーリンク

「配列を返す関数」は、複数の値をまとめて返したいときに使います。初心者向けに例を示します。


基本の考え方

  • 通常の関数は「1つの値」を返す
  • 配列を返す関数は「複数の値」をまとめて返す
  • 戻り値の型を「配列型」にすることで実現できます

例題1:1から5までの数字を返す関数

Function GetNumbers() As Variant
    Dim arr(1 To 5) As Integer
    
    Dim i As Integer
    For i = 1 To 5
        arr(i) = i
    Next i
    
    GetNumbers = arr
End Function
VB

呼び出し方

Sub TestArray()
    Dim nums As Variant
    Dim i As Integer
    
    nums = GetNumbers()
    
    For i = LBound(nums) To UBound(nums)
        Debug.Print nums(i)   ' → 1,2,3,4,5 と表示される
    Next i
End Sub
VB

例題2:名前リストを返す関数

Function GetNames() As Variant
    Dim arr(1 To 3) As String
    
    arr(1) = "田中"
    arr(2) = "佐藤"
    arr(3) = "鈴木"
    
    GetNames = arr
End Function
VB

呼び出し方

Sub TestNames()
    Dim names As Variant
    Dim i As Integer
    
    names = GetNames()
    
    For i = LBound(names) To UBound(names)
        Debug.Print names(i)   ' → 「田中」「佐藤」「鈴木」と表示される
    Next i
End Sub
VB

ポイント

  • 戻り値の型は Variant にしておくと柔軟に配列を返せる
  • LBoundUBound を使うと配列の範囲を安全にループできる
  • 配列を返すことで「複数の結果をまとめて返す」処理が可能になる

👉 次のステップとして「引数を渡して、その数だけ配列を作る関数」や「計算結果をまとめて返す関数」に挑戦すると、さらに応用力がつきます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました