Excel VBAの配列の仕組みと使い方のサンプル

ExcelのVBAの配列の仕組みと使い方のサンプルです。

目次

配列とは

配列を作成する

配列を作成するサンプルです。

Sub test1()

    Dim ar1(2) As Integer
    ar1(0) = 1
    ar1(1) = 2
    ar1(2) = 3
    
    Debug.Print ar1(0) '1
    Debug.Print ar1(1) '2
    Debug.Print ar1(2) '3
    
End Sub

3行目は、配列の要素の数を3つ宣言しています。指定の数プラス1が実際の要素の数です。
4~6行目は、配列に値をセットしています。インデックスは0から始まります。
8~10行目は、配列の値を表示しています。

配列を作成する(Array関数)

Array 関数を使用して配列を作成するサンプルです。

Sub test1()

    Dim ar1 As Variant
    
    ar1 = Array(1, 2, 3)
    
    Debug.Print ar1(0) '1
    Debug.Print ar1(1) '2
    Debug.Print ar1(2) '3
    
End Sub

3行目は、Variantで変数を宣言しています。
5行目は、Array関数で配列に値をまとめてセットしています。
7~9行目は、配列の値を表示しています。

配列の値をfor文で取得する

配列の値をfor文で取得するサンプルです。

Sub test1()

    Dim ar1 As Variant
    
    ar1 = Array(1, 2, 3)
    
    For Each a In ar1
            Debug.Print a '1 2 3
    Next
    
    For i = LBound(ar1) To UBound(ar1)
            Debug.Print ar1(i) '1 2 3
    Next
    
End Sub

7行目は、For Each文で配列の値の数分処理を繰り返します。
11行目は、For文で配列の値の数分処理を繰り返します。
LBoundは引数の配列の最小のインデックス値を返します。0が返ります。
UBoundは引数の配列の最大のインデックス値を返します。2が返ります。

2次元配列を作成する

2次元配列を作成するサンプルです。

Sub test1()

    Dim ar1(2, 2) As Integer
    
    ar1(0, 0) = 1
    ar1(0, 1) = 2
    ar1(0, 2) = 3
    ar1(1, 0) = 4
    ar1(1, 1) = 5
    ar1(1, 2) = 6
    
    Debug.Print ar1(0, 0) '1
    Debug.Print ar1(0, 1) '2
    Debug.Print ar1(0, 2) '3
    Debug.Print ar1(1, 0) '4
    Debug.Print ar1(1, 1) '5
    Debug.Print ar1(1, 2) '6
    
End Sub

3行目は、配列の要素の数を3つずつ宣言しています。指定の数プラス1が実際の要素の数です。
5~10行目は、2次元配列に値をセットしています。
12~17行目は、2次元配列の値を表示しています。

関連の記事

Excel VBAのFor文のサンプル
Excel VBAのDo Loop文のサンプル
Excel VBAのFor Each文のサンプル

△上に戻る