
No.2ベストアンサー
- 回答日時:
こんにちは。
場合によって意味が違ったりするので、サンプル3種。
' ' ///
Sub Re8377795a() ' Variant型変数に動的配列
Dim test As Variant
Dim i As Long
ReDim test(65 To 90) As String ' 初期化、次元(サイズ)を再定義
For i = 65 To 90
test(i) = Chr(i)
Next i
MsgBox "■" & Join(test) & "■"
ReDim test(65 To 90) ' 再初期化
MsgBox "■" & Join(test) & "■"
Erase test ' メモリ解放
MsgBox "■" & Join(test) & "■"
End Sub
Sub Re8377795b() ' 動的配列
' Dim test() As Variant
Dim test() As String
Dim i As Long
ReDim test(65 To 90) ' 初期化、次元(サイズ)を再定義
For i = 65 To 90
test(i) = Chr(i)
Next i
MsgBox "■" & Join(test()) & "■"
ReDim test(65 To 90) ' 再初期化
MsgBox "■" & Join(test()) & "■"
Erase test() ' メモリ解放
MsgBox "■" & Join(test()) & "■"
End Sub
Sub Re8377795c() ' 静的配列
' Dim test(65 To 90) As Variant ' 初期化、次元(サイズ)を定義
Dim test(65 To 90) As String ' 初期化、次元(サイズ)を定義
Dim i As Long
For i = 65 To 90
test(i) = Chr(i)
Next i
MsgBox "■" & Join(test()) & "■"
Erase test() ' 再初期化
MsgBox "■" & Join(test()) & "■"
End Sub
' ' ///
〓以下、VBAヘルプ「Erase ステートメント」「解説」より抜粋引用〓
<配列の型> <Erase ステートメントの実行結果>
静的数値配列 要素はすべて 0 に設定されます。
静的文字列配列 (可変長) 要素はすべて長さ 0 の文字列 ("") に設定されます。
静的文字列配列 (固定長) 要素はすべて 0 に設定されます。
静的バリアント型 (Variant) 配列 要素はすべて Empty 値に設定されます。
ユーザー定義型配列 各要素は、別個の変数として設定されます。
オブジェクト配列 要素はすべて特別な値 Nothing に設定されます。
〓以上、引用〓
因みに、上記サンプル b、c で出てくる test() については、
単に test と省略して書いても動きますが、配列であることを明示する意味で
変数の末尾に()を付けることが推奨されています。
(Dim test() As ... のように動的配列を宣言する場合は無論、()は省略できませんが)
とりあえず、以上です。
No.3
- 回答日時:
No.1
- 回答日時:
>Dim test() As String
>Dim test As Variant
この状態で、動的変数を使う宣言をしているだけで実態はありません。
testと言う箱を使うよで、箱自体は無い状態、VBの場合、何も割り当て
されていない状態になっています。
ReDim test(10)等の動的割当をした段階で初期化可能になります
配列変数の利用
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub0 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでTransposeの不思議
-
delphi の 標準偏差のプログラ...
-
csv形式のデータの一部を削除し...
-
Excel VBA ユーザーフォームの...
-
隣同士の数字を足し合わせる
-
二次元配列のインデックスについて
-
配列要素へのリファレンスと、...
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
流れ図(フローチャート)が分か...
-
正しいWebBrowserの使い方(ル...
-
画面を強制的に再描画させる方法
-
perlでファイルの拡張子を除い...
-
VBAの変数は何故「i」から始ま...
-
csh foreachで「*」でエラ...
-
CSVファイルの特定の行だけを読...
-
イベントの発生を待つ
-
文字列を変数名として扱う方法
-
EXCEL VBA ユーザーフォームの...
-
ボタンが押された時にループか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
エクセルVBAでTransposeの不思議
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
マクロ Publicでの配列定義
-
クラスに配列を渡す方法
-
リストボックスに縦スクロール...
-
二次元配列のインデックスについて
-
Dim flag(4) as boolean で配列...
-
与えられた配列の順にソートす...
-
Excel VBA ユーザーフォームの...
-
VBA 二次元配列の1つ目を増...
-
プログラミング アルゴリズム
-
複数の配列の全ての組み合わせ...
-
二次元配列における要素数のは...
-
VB6で配列の最大値を簡単に求め...
-
バイナリデータの検索(VB.NET2008)
-
VBA 二次元配列 ループの書き方
-
VBA 多次元配列を用いてグルー...
-
VBA 条件
おすすめ情報