「配列を返す関数」は、複数の値をまとめて返したいときに使います。初心者向けに例を示します。
基本の考え方
- 通常の関数は「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 にしておくと柔軟に配列を返せる
LBoundとUBoundを使うと配列の範囲を安全にループできる- 配列を返すことで「複数の結果をまとめて返す」処理が可能になる
👉 次のステップとして「引数を渡して、その数だけ配列を作る関数」や「計算結果をまとめて返す関数」に挑戦すると、さらに応用力がつきます。
