VBAで配列を扱う方法についてご説明します。
配列とは、複数のデータをまとめて処理することができる変数のことです。
それでは、配列の使用方法について具体的なコードと共に確認してみましょう。
通常変数には1つの値しか格納できませんが、Dimで定義する際に()で格納したいデータの数
(要素数)を指定することにより配列として扱うことができます。

構文

Dim 配列名(要素数)  As 変数の型

<コード>

Dim myData(2) As String   '配列myDataを定義'

そして、配列の中に値を格納したい場合は下記の様に()で配列の要素の番号を指定して
通常の変数と同様に=の右辺に値を指定します。
なお()の中の番号のことをインデックス番号と呼びますが、インデックス番号は0から始まる点に注意しましょう。
つまり、要素数を(2)と定義した場合は0~2までのインデックス番号が振られていることになります。
<コード>

‘0~2までの3つの要素へ値を格納
    myData(0) = "月曜日"
    myData(1) = "火曜日"
    myData(2) = "水曜日"

ループ処理で配列を操作

配列の要素全てに操作を行う場合はループ処理と組み合わせるのがスマートな方法です。
例ではFor文で5つの要素にセルのデータを1つずつ格納し、メッセージボックスで表示しています。
<コード>

Dim myData(4) As String   '配列を定義'
    Dim myStr As String 'メッセージ作成用変数'
    Dim i As Integer    'ループ処理用変数'
    '配列の各要素へデータを格納'
    myData(0) = "月曜日"
    myData(1) = "火曜日"
    myData(2) = "水曜日"
    myData(3) = "木曜日"
    myData(4) = "金曜日"
    For i = 0 To 4
        '各要素へ格納した値をつなげてメッセージを作成'
        myStr = myStr & myData(i) & vbCrLf
    Next i
    'メッセージを表示'
    MsgBox myStr

<実行例>

配列の要素の最大値・最小値について

ところで、先の例のループ処理は下記のコードに変更しても同様の処理を実行します。
LBound(配列名)で要素の最小値を、UBound(配列名)で要素の最大値を取得している点がポイントです。
これらの関数を使用すると、配列の要素数が変更された場合にも対応できる柔軟なコードを組むことができます。
<コード>

    '要素数の最小値をLBoundで、最大値をUboundで取得'
    For i = LBound(myData) To UBound(myData)
        myStr = myStr & myData(i) & vbCrLf
    Next i

配列の最小値を変更

配列のインデックス番号は0から始まりますが、1から始まるデータを扱う場合など
インデックス番号が1から始まった方が都合が良い場合もあります。
そんな時はモジュールの先頭に『Option Base 1』と記載するとインデックス番号の最小値を1にすることができます。
ちなみに、指定できるのは『Option Base 0』か『Option Base 1』のみなので注意してください。
<コード>

Option Base 1   '配列の要素の最小値を設定'
Sub 配列サンプル()
    Dim myData(2)
    MsgBox LBound(myData)
End Sub

<実行例>

まとめ<

配列を使用すると複数のデータを1つの変数で扱うことができます。
大量のデータをループ処理で操作したい場合などに非常に有効な方法となるので、ぜひマスターしてください。
【おすすめ記事】
習得必須!VBAを教われるスクールBEST5
VBAの本・参考書の評判
業務効率をアップする!コピペで動くVBA5選
【VBA入門】Msgboxでメッセージボックスを活用する方法