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次元”というのか」がわかると、配列を使うときのイメージがぐっと掴みやすくなります。
これを理解しておくことで、表形式のデータを扱う処理がよりスムーズに書けるようになります。
コメント