基本となる配列
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub Sample3_1_1() Dim strArray(4) As String ' 配列の要素数:5 Dim i As Integer strArray(0) = "*** A1 ***" strArray(1) = "*** A2 ***" strArray(2) = "*** A3 ***" strArray(3) = "*** A4 ***" strArray(4) = "*** A5 ***" For i = 0 To 4 Cells(i + 1, 1).Value = strArray(i) ' 配列の値をセルへ Next End Sub |
実行結果
配列の添字を”1″からにする
Option Baseステートメントを、1で宣言することにより配列の添字を”1″からにすることができます。
宣言されていない場合は、既定の”0″からになっています。
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Option Base 1 Sub Sample3_1_2() Dim strArray(5) As String ' 配列の要素数:5 Dim i As Integer strArray(1) = "*** A1 ***" strArray(2) = "*** A2 ***" strArray(3) = "*** A3 ***" strArray(4) = "*** A4 ***" strArray(5) = "*** A5 ***" For i = 1 To 5 Cells(i, 1).Value = strArray(i) ' 配列の値をセルへ Next End Sub |
実行結果
- Sample3_1_1 と同じ結果になります。
配列の添字を任意の番号にする
ここでは配列の添え字を6から10で宣言しています。実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub Sample3_1_3() Dim strArray(6 To 10) As String ' 配列の要素数:5 Dim i As Integer strArray(6) = "*** A6 ***" strArray(7) = "*** A7 ***" strArray(8) = "*** A8 ***" strArray(9) = "*** A9 ***" strArray(10) = "*** A10 ***" For i = 6 To 10 Cells(i, 1).Value = strArray(i) ' 配列の値をセルへ Next End Sub |
実行結果
動的配列を使う
必要な配列数が分からない場合などに使います。
とりあえず宣言しておいて、必要な配列数がわかった時点でReDimステートメントで配列数を指定します。
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub Sample3_1_4() Dim strArray() As String ' 配列の宣言 Dim i As Integer ReDim strArray(1 To 5) ' 配列の要素数:5 strArray(1) = "*** A1 ***" strArray(2) = "*** A2 ***" strArray(3) = "*** A3 ***" strArray(4) = "*** A4 ***" strArray(5) = "*** A5 ***" For i = 1 To 5 Cells(i, 1).Value = strArray(i) ' 配列の値をセルへ Next End Sub |
実行結果
2次元配列を使う
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Sub Sample3_1_5() Dim strArray(1 To 5, 1 To 2) As String ' 配列の要素数:5×2 Dim i As Integer Dim j As Integer strArray(1, 1) = "*** A1 ***" strArray(2, 1) = "*** A2 ***" strArray(3, 1) = "*** A3 ***" strArray(4, 1) = "*** A4 ***" strArray(5, 1) = "*** A5 ***" strArray(1, 2) = "*** B1 ***" strArray(2, 2) = "*** B2 ***" strArray(3, 2) = "*** B3 ***" strArray(4, 2) = "*** B4 ***" strArray(5, 2) = "*** B5 ***" For i = 1 To 5 For j = 1 To 2 Cells(i, j).Value = strArray(i, j) ' 配列の値をセルへ Next Next End Sub |
動的配列にすることも可能です。
1 2 3 |
Dim strArray() As String ' 配列の宣言 ReDim strArray(1 To 5, 1 To 2) |
実行結果