配列(宣言・要素数の変更について)
2015/04/01
配列の宣言
<Type 型の静的配列(固定長配列)の宣言>
Dim myArray ( [ lower To ] upper ) As Type
<Variant(バリアント)型の静的配列(固定長配列)の宣言>
Dim myArray ( [ lower To ] upper ) [ As Variant ]
<Type 型の動的配列の宣言>
Dim myArray () As Type
<Variant(バリアント)型の動的配列の宣言>
Dim myArray () [ As Variant ]
<Type 型の配列の要素数の変更>
ReDim [ Preserve ] myArray ( [ lower To ] upper ) [ As Type ]
<Variant(バリアント)型の配列の要素数の変更>
ReDim [ Preserve ] myArray ( [ lower To ] upper ) [ As Variant ]
【各項目の説明】
- myArray ・・・ 配列の変数名
- lower ・・・ 配列の添字最小値(先頭のインデックス:省略可 ⇒ 省略した場合、「0」あるいは、Option Base 1 を指定している場合は「1」となります。)
- upper ・・・ 配列の添字最大値(末尾のインデックス)
- Type ・・・ 変数のデータ型 を指定します。
Preserve:配列の要素数を変更する際、その配列にすでに格納されている値を失わずに要素数を変更するためのキーワードです。
(※ これを使用する時は、配列の次元 を変更することはできません。)
一度宣言した静的配列の要素数・次元を変更することはできません。動的配列の場合、何度でも変更することが可能です。
配列の宣言 実例
VBAソース
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 26 27 28 29 30 31 32 33 34 |
Sub sample_array01() 'String(文字列型)要素数4の静的配列(固定長配列)の宣言 Dim strArray(3) As String 'Integer(整数型)要素数6の静的配列(固定長配列)の宣言 Dim intArray(0 To 5) As Integer 'Variant(バリアント型)要素数25の静的配列(固定長配列)の宣言 Dim myArray(1 To 25) 'Long(長整数型)の動的配列の宣言 Dim lngArray() As Long '要素数を変更 ReDim lngArray(1 To 5) 'Variant(バリアント型)の動的配列の宣言 Dim valArray() '要素数を変更 ReDim valArray(2) MsgBox "型:" & TypeName(strArray) & " / 要素数:" & UBound(strArray) - (LBound(strArray) - 1) & Chr(13) & _ "型:" & TypeName(intArray) & " / 要素数:" & UBound(intArray) - (LBound(intArray) - 1) & Chr(13) & _ "型:" & TypeName(myArray) & " / 要素数:" & UBound(myArray) - (LBound(myArray) - 1) & Chr(13) & _ "型:" & TypeName(lngArray) & " / 要素数:" & UBound(lngArray) - (LBound(lngArray) - 1) & Chr(13) & _ "型:" & TypeName(valArray) & " / 要素数:" & UBound(valArray) - (LBound(valArray) - 1) End Sub |
実行結果
関連記事
-
-
ポイント単位の値に変換(CentimetersToPoints,InchesToPoints)
CentimetersToPoints メソッド センチメートル単位の値をポイン …
-
-
書式を変換(Format 関数)
Format 関数の使い方 【書式】 result = Format ( exp …
-
-
文字列:文字を指定数並べた文字列を返す(String 関数)
String 関数 【書式】 result = String ( number, …
-
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
-
指定した値を8進数で表記した文字列に変換する(Oct 関数)
Oct 関数 の使い方 【書式】 result = Oct ( expressi …
-
-
データをクリアする(ClearContents メソッド)
ClearContents メソッド 対象がセル範囲(Range オブジェクト) …
-
-
日付時刻:日付・時刻の間隔を取得( DateDiff 関数 )
DateDiff 関数の使い方 【書式】 result = DateDiff ( …
-
-
変数のデータ型・宣言(Dim ステートメント)
変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …
-
-
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)
カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …