Excel VBA 2次元配列

 

Excel VBAの 2次元配列は、テーブルのような2次元のデータを効果的に扱うためのデータ構造です。1次元配列が1列のデータを格納するのに対して、2次元配列は行と列から成る表形式のデータを格納します。使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA 2次元配列とは

学校の教室に座る生徒たちがいます。これを1次元配列だと思います。1次元配列は、横一列に座る生徒たちのリストと考えることができます。例えば、1-A、1-B、1-Cといった感じですね。

では、2次元配列はどうでしょうか?これは、学校の教室の座席表と考えることができます。横にも縦にも並んでいるんです。例えば、1-A、1-B、1-Cが横に座って、2-A、2-B、2-Cがその下に縦に座っている感じです。

もし、ある生徒の席を知りたい場合、1-A、2-Bのように座席の行番号と列番号を指定すれば、その生徒の席を特定できます。これが2次元配列のイメージです。座席表を使って、縦横の組み合わせで生徒を特定できます。

 

Excel VBA 2次元配列の利用

以下のようなシーンで利用されます。

・データベースやスプレッドシートのテーブル形式のデータを効率的に取り扱いたい場合。

・行と列の関係性があるデータをプログラム内で表現したい場合。

・行列の要素にアクセスすることで、複雑なデータ処理をシンプルに行いたい場合。

 

ポイント

配列のサイズを事前に宣言する場合、データの量を正確に知っている必要があります。

 

Excel VBA 2次元配列サンプルコード
Option Explicit

Sub SampleArray()
    Dim myArray(1 To 3, 1 To 2) As Variant
    Dim i As Integer, j As Integer
    
    ' データの格納
    myArray(1, 1) = "A"
    myArray(1, 2) = 10
    myArray(2, 1) = "B"
    myArray(2, 2) = 20
    myArray(3, 1) = "C"
    myArray(3, 2) = 30
    
    ' データの表示
    For i = 1 To 3
        For j = 1 To 2
            Debug.Print myArray(i, j)
        Next j
    Next i
End Sub

サンプルコードは、3行2列の2次元配列に文字列と数値を格納し、データをループ(繰り返し)で表示しています。

 

あなたもExcel VBAのスキルを証明できるようにしませんか? Excel VBA エキスパート資格は、VBAプログラミングの専門家としての信頼性を高めキャリアの成長に大きく貢献し、求人市場での競争力を高め、キャリア機会を拡大します。

 

当サイトでは、Excel VBAエキスパート認定資格取得に役立つ情報を提供しています。まずは問題集から挑戦してみませんか?

 

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。