Excel VBA 2次元配列で行列からなる表形式データを効果的に扱う

 

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

 

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

 

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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

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


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

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

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。