ExcelWork.info

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

配列(宣言・要素数の変更について)

      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ソース


実行結果

配列 使用例 01




 - VBA基本 , , ,

Message

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

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

  関連記事

文字列:アルファベットを小文字または大文字に変換(LCase 関数,UCase 関数)

LCase 関数・UCase 関数 の使い方 【書式】 <アルファベットの大文字 …

カレントフォルダの変更・確認
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)

カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …

演算子の優先順位
VBA の演算子(演算子の優先順位)

演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …

書式を変換(Format 関数)

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

変数がオブジェクト型かどうかをチェックする( IsObject 関数 )

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

InStrRev 関数
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)

InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …

ユーザー設定リスト
ユーザー設定リストを使って並べ替える(Sort)

VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …

固定長形式で分割(TextToColumns メソッド)
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)

固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …

日付時刻:時・分・秒を取得(Hour、Minute、Second 関数)

日付時刻から時・分・秒を取得する関数 【書式】 time_hour = Hour …

ClearContents メソッド 例01
データをクリアする(ClearContents メソッド)

ClearContents メソッド 対象がセル範囲(Range オブジェクト) …