2次元配列の基本と宣言方法

VBAでは、たくさんのデータを整理して扱いたいときに「配列(はいれつ)」という仕組みを使います。
その中でも、“2次元配列”は、データを表のように「行」と「列」に並べて管理するための道具です。

この記事では、「なぜ2次元と言うのか?」「どうやって使うのか?」を初心者にもわかりやすく解説します。


1. 「2次元」とはどういう意味?

■ 次元とは?

「次元」という言葉は少し難しく感じるかもしれませんが、簡単に言えば「方向の数」を表しています。

種類意味
1次元横方向(または縦方向)だけ数字を一列に並べたリスト
2次元横と縦、2つの方向があるExcelのような表(行 × 列)

2. 一次元配列との違い

まずは、一次元配列(1列だけのリスト)と比較してみましょう。

● 一次元配列のイメージ

Dim arr(1 To 3) As String
インデックス:  1     2     3
値:    "佐藤" "鈴木" "高橋"

これは「横に並べた箱が3つある」ようなイメージ。横方向(または縦方向)だけです。


● 二次元配列のイメージ

Dim arr(1 To 2, 1 To 3) As String
行(縦)

1 → "佐藤" "30" "男"
2 → "鈴木" "28" "女"
   ↓  ↓  ↓
  列(横)

これは、**横方向(列)と縦方向(行)を持つ「表」**のようなものです。
だから「2次元」なのです。


3. 2次元配列の宣言方法

● 基本構文

Dim 配列名(行の最小値 To 行の最大値, 列の最小値 To 列の最大値) As データ型

● 具体例:2行3列の表を作る

Dim arr(1 To 2, 1 To 3) As String

この配列は、次のような形になります。

列番号 →(1)(2)(3)
(1)行arr(1,1)arr(1,2)arr(1,3)
(2)行arr(2,1)arr(2,2)arr(2,3)

4. 使い方の例

● データを入れる

arr(1, 1) = "佐藤"
arr(1, 2) = "30"
arr(1, 3) = "男"
arr(2, 1) = "鈴木"
arr(2, 2) = "28"
arr(2, 3) = "女"

● データを取り出す

MsgBox arr(2, 1)  '→"鈴木" と表示

5. Excelの表との関係

実は、**Excelのセル範囲そのものが「2次元」**です。

Range("A1:C2").Value

上記のように範囲を指定すると、VBAでは内部的に2行3列の2次元配列として扱われます。
だから、ExcelとVBAの相性がよく、配列をうまく使うと効率的なデータ処理ができるのです。


6. まとめ

  • 「2次元」とは、縦(行)と横(列)という2つの方向を持つこと
  • 2次元配列は、「表」のようにデータを整理して格納できる
  • 宣言するときは、Dim 配列名(行, 列) の形
  • Excelのセル範囲も、実は2次元配列の形で取り扱える

なぜ“2次元”というのか」がわかると、配列を使うときのイメージがぐっと掴みやすくなります。
これを理解しておくことで、表形式のデータを扱う処理がよりスムーズに書けるようになります。

コメント

タイトルとURLをコピーしました