ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

配列(多次元配列・配列の次元の変更)

      2015/04/02

多次元配列


【書式】 多次元配列の宣言

<静的配列(固定長配列)>
Dim myArray ( [ lower To ] upper [, [ lower To ] upper … ] ) [ As Type ]

<動的配列>
Dim myArray () [ As Type ]


【書式】 配列の要素数・次元の変更

ReDim [ Preserve ] myArray ( [ lower To ] upper [, [ lower To ] upper … ] ) [ As Type ]


【項目の説明】

  • myArray  ・・・  配列の変数名
  • lower  ・・・  配列の添字最小値(先頭のインデックス:省略可)
  • upper  ・・・  配列の添字最大値(末尾のインデックス
  • Type  ・・・  変数のデータ型 を指定(省略時は Variant(バリアント型)になります)

lower To 」の部分は省略可能です(省略時の配列の添字最低値は「0」、Option Base 1 を指定している場合は「1」となります)。
 upper, lower To upper, upper
のように指定できます。


【Dim ステートメントについて】

配列の添字の部分( “( )” 内の部分 )の構文は、次元に応じて以下のように指定します。
 lower To upper, lower To upper, lower To upper
最大60次元まで指定可能です

Dim ステートメントで、要素数を指定せずに宣言した場合その配列は実行時に要素数を変更することができます(動的配列)。しかしそのままでは使用できないので、ReDim ステートメントを使って、要素数・次元数を指定します。


【ReDim ステートメントについて】

ReDim ステートメントを使用すると動的配列の要素数・次元数を変更することができます。

Preserve キーワードを使用すると、その配列にすでに格納されている値を失わずに要素数を変更することができます。ただしこれを使用する時は、配列の次元を変更することはできません。



多次元配列の使用例

VBAソース(その1)


実行結果

多次元配列 例01


VBAソース(その2)


実行結果

多次元配列 例02


VBAソース(その3)




 - VBA基本 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

RegExp オブジェクト Test メソッド
VBA で正規表現を使う(RegExp オブジェクトのメソッド)

RegExp オブジェクトのメソッド RegExp オブジェクトの詳細に関しては …

ThisCell プロパティ
ユーザー定義関数:セルを取得する(ThisCell プロパティ)

入力されたセルを取得する ワークシート上で使用する Function プロシージ …

IsArray 関数 例
変数が配列かどうかをチェックする( IsArray 関数 )

IsArray 関数の使い方 【書式】 result = IsArray( va …

Randomize 関数 例1
乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)

Randomize ステートメントの使い方 Rnd 関数 を使用する前に使用しま …

文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)

Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …

定数(改行・タブ) 使用例
文字列:定数(改行・タブ)

改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …

取り消し線を設定する(Strikethrough プロパティ)

取り消し線を設定する(Strikethrough プロパティ) Striketh …

Dictionary オブジェクト 使用例1
連想配列(Dictionary オブジェクト)

連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …

変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )

IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …

VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)

論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …