Excel VBAの配列にはどんな種類があるのか - 多次元配列 -
はじめに
前回は、1次元配列について説明しました。
今回は予告どおり、多次元配列について説明します。
◆目次◆
多次元配列とは
たとえば2次元配列であれば、縦と横に並べた箱の集合体、3次元配列であれば、さらに奥行きがある箱の集合体を想像してください。
この図のように、それぞれの箱にはインデックスが割り振られています。
2次元配列の場合は、左から縦向き、横向きのインデックスを指します。
3次元配列の場合は、左から奥行き、縦向き、横向きのインデックスを指します。
Excelは行と列で構成されています。 2次元配列は行と列の値を格納できるので、Excel VBAで使用すると便利です。
2次元配列のコードの書き方は1次元配列と同じです。 配列の変数を宣言し、値を入れます。
では、6つの箱にそれぞれの値を入れて、配列を作りましょう。
- インデックス0,0:American Coffee
- インデックス0,1:Earl Grey Tea
- インデックス0,2:Almond Milk
- インデックス1,0:Blended Coffee
- インデックス1,1:Ceylon Tea
- インデックス1,2:Soy Milk
それぞれの箱に値を入れました。この配列をコードで書くと以下のとおりです。
Sub array1_3() Dim drinks(1, 2) As String drinks(0, 0) = "American Coffee" drinks(0, 1) = "Earl Grey Tea" drinks(0, 2) = "Almond Milk" drinks(1, 0) = "Blended Coffee" drinks(1, 1) = "Ceylon Tea" drinks(1, 2) = "Soy Milk" End Sub
もちろん、インデックスの開始位置を0以外にすることも可能です。
たとえば、インデックスを「1,1」から開始する場合、以下のコードになります。
Sub array1_4() Dim drinks(1 To 2, 1 To 3) As String drinks(1, 1) = "American Coffee" drinks(1, 2) = "Earl Grey Tea" drinks(1, 3) = "Almond Milk" drinks(2, 1) = "Blended Coffee" drinks(2, 2) = "Ceylon Tea" drinks(2, 3) = "Soy Milk" End Sub
図にすると、インデックスがExcelのセルのように見えませんか。何回か後の記事で、実際にセルの値を使った配列のコードの書き方も説明しますので、しばらくお待ちください。
さいごに
いかがでしたか。多次元配列になると、さまざまな方向に値の格納ができるようになりました。
次回は静的配列と動的配列について説明します。