AccessのVBAで配列を宣言・数字と文字列を代入・要素数の説明・代入された配列の使い方・初期化の方法を掲載しています。
配列とは、共通するデータをまとめて使用できるようにしたものです。
例えば、日付を31で、曜日を7の要素数で使用し、まとめて処理することができます。
■ 配列の宣言と代入
下のように配列の宣言は、「Dim 変数名(添字) As データ型」で行います。
添字に配列の要素数を指定します。
Sub MyArray()
Dim nary(5) As Long
Dim i As Long
nary(0) = "1000"
nary(1) = "1001"
nary(2) = "1002"
nary(3) = "1003"
nary(4) = "1004"
nary(5) = "1005"
End Sub
■ 配列の要素数
配列の要素数は、0から始まり添字の数までになります。
下のnary(5)の場合、0から5なので要素数は6になります。
要素数以外の添字で使用すると、下のように「実行時エラー’9’ インデックスが有効範囲にありません。」のエラーになります。
■ 配列の使い方 数値と文字列
配列に添字を指定することで、代入と取得が可能です。
下は配列の値が偶数の場合、表示するようにしています。
Sub MyArray()
Dim nary(5) As Long
Dim i As Long
nary(0) = "1000"
nary(1) = "1001"
nary(2) = "1002"
nary(3) = "1003"
nary(4) = "1004"
nary(5) = "1005"
For i = 0 To 5
If nary(i) Mod 2 = 0 Then
Debug.Print nary(i)
End If
Next
End Sub
文字の場合も同様に使用できます。
下は配列に代入した文字列を全部つなげて表示します。
Sub MyStrArray()
Dim sary(5) As String
Dim i As Long
Dim s As String
sary(0) = "aaa"
sary(1) = "bbb"
sary(2) = "ccc"
sary(3) = "ddd"
sary(4) = "eee"
sary(5) = "fff"
For i = 0 To 5
s = s + sary(i)
Next
Debug.Print s
End Sub
■ 配列の初期化方法
配列を初期化するには、Eraseステートメントを使います。
下では、一度配列に代入した文字列を、Eraseステートメントで初期化し、再度表示することで初期化されたことを確認しています。
Sub MyStrArray()
Dim sary(5) As String
Dim i As Long
Dim s1 As String
Dim s2 As String
sary(0) = "aaa"
sary(1) = "bbb"
sary(2) = "ccc"
sary(3) = "ddd"
sary(4) = "eee"
sary(5) = "fff"
For i = 0 To 5
s1 = s1 + sary(i)
Next
Debug.Print "s1:" & s1
Erase sary
For i = 0 To 5
s2 = s2 + sary(i)
Next
Debug.Print "s2:" & s2
End Sub
関連する記事