VBAでは、複数のデータをまとめて扱う「配列」が便利です。
配列には、大きく分けて固定長配列と可変長配列の2種類があります。
さらに、**可変長配列ではサイズ変更(再宣言)**もできるのが特徴です。
この記事では、それぞれの使い方と ReDim
/ Preserve
の書き方まで、初心者向けにわかりやすく解説します。
目次
1. 固定長配列とは?
サイズ(要素数)を最初に決める配列です。あとからサイズは変えられません。
例:
scores(1 To 5) As Integer
scores(1)
~scores(5)
まで、5個のデータが入ります。- 要素数が最初から分かっているときに便利です。
2. 可変長配列とは?
サイズを後から自由に変更できる配列です。
宣言と使い方:
Dim scores() As Integer 'サイズ未定の配列
ReDim scores(1 To 3) '必要なときにサイズを決定
このように、ReDim
を使ってサイズを指定します。
3. ReDim でサイズを変更する
可変長配列は、ReDim
を使って何度でもサイズを変えられます。
Dim data() As String
ReDim data(1 To 2)
data(1) = "A"
data(2) = "B"
ReDim data(1 To 4) 'サイズを変更(ただし中身はリセットされる)
⚠️ 注意:ReDim
を使うと、以前のデータはすべて消えてしまいます。
4. ReDim Preserve でデータを残す
Preserve
を使えば、今までのデータを保ったままサイズ変更ができます。
Dim data() As String
ReDim data(1 To 2)
data(1) = "Apple"
data(2) = "Banana"
ReDim Preserve data(1 To 3)
data(3) = "Cherry"
これで、1~2のデータはそのまま残り、3つ目を追加できます。
5. Preserve の注意点
Preserve
が使えるのは、最後の次元だけです(2次元以上の配列では制限があります)。ReDim
でサイズを小さくすると、その分のデータは失われます。
6. まとめ
種類 | サイズ変更 | 中身を保持 | 使い方例 |
---|---|---|---|
固定長配列 | できない | ― | Dim arr(1 To 5) |
可変長配列 | できる | 消える | ReDim arr(1 To 3) |
Preserve使用 | できる | 保たれる | ReDim Preserve arr(1 To 4) |
7. おすすめの使いどころ
- データ数が読めない場面 → 可変長配列+
ReDim Preserve
- あらかじめデータ数が分かっている → 固定長配列
配列は、データをまとめて管理するうえでとても便利な仕組みです。
特に ReDim
と Preserve
を覚えると、状況に応じて柔軟な配列操作ができるようになります!
コメント