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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

IgnoreCase プロパティ
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)

RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …

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

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

Option Compare Text 例
Option Compare ステートメント

Option Compare ステートメントの使い方 【書式】 Option C …

文字列:文字列を検索してその最初の文字位置を返す(InStr 関数,InStrB 関数)

InStr 関数・InStrB 関数の使い方 【書式】 result = { I …

変数宣言と変数のデータ型
変数のデータ型・宣言(Dim ステートメント)

変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …

書式を変換(Format 関数)

Format 関数の使い方 【書式】 result = Format ( exp …

文字列:指定した文字の文字コードを取得する(Asc 関数)

Asc 関数 【書式】 result = Asc ( string ) 引数・戻 …

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

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

文字列:文字列の一部を別の文字列で置換(Replace 関数)

Replace 関数の使い方 【書式】 result = Replace ( s …

オートシェイプの種類を表す定数
オートシェイプの種類を表す定数(MsoAutoShapeType 列挙型)

MsoAutoShapeType 列挙型 オートシェイプオブジェクトの図形の種類 …