Excel VBAの 2次元配列は、2次元のデータを効果的に扱うためのデータ構造です。1次元配列が1列のデータを格納するのに対して、2次元配列は行と列から成る表形式のデータを格納します。使い方や、注意点やサンプルコードを紹介します。
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
学校の教室に座る生徒たちがいます。これを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次元配列のイメージです。座席表を使って、縦横の組み合わせで生徒を特定できます。
以下のようなシーンで利用されます。
・データベースやスプレッドシートのテーブル形式のデータを効率的に取り扱いたい場合。
・行と列の関係性があるデータをプログラム内で表現したい場合。
・行列の要素にアクセスすることで、複雑なデータ処理をシンプルに行いたい場合。
配列のサイズを事前に宣言する場合、データの量を正確に知っている必要があります。
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エキスパート」をご確認ください。