配列(宣言・要素数の変更について)
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 |
実行結果
関連記事
-
-
日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )
DateValue 関数(文字列から日付データを取得) 【書式】 date_va …
-
-
VBA の演算子(文字連結演算子:& 演算子 + 演算子)
文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …
-
-
ポイント単位の値に変換(CentimetersToPoints,InchesToPoints)
CentimetersToPoints メソッド センチメートル単位の値をポイン …
-
-
ユーザー定義関数:セルを取得する(ThisCell プロパティ)
入力されたセルを取得する ワークシート上で使用する Function プロシージ …
-
-
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)
固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …
-
-
文字列:文字列を指定した形式に変換する(StrConv 関数)
StrConv 関数の使い方 【書式】 result = StrConv ( s …
-
-
日付時刻:日付・時刻の間隔を取得( DateDiff 関数 )
DateDiff 関数の使い方 【書式】 result = DateDiff ( …
-
-
色の設定(ThemeColor プロパティ・TintAndShade プロパティ)
ThemeColor プロパティ・TintAndShade プロパティ テーマカ …
-
-
配列の要素数を取得する(UBound 関数・LBound 関数)
UBound 関数・LBound 関数 【書式】 result = UBound …
-
-
xlFileFormat 列挙型
xlFileFormat 列挙型 Workbook.SaveAs メソッド の引 …