|
▼>その動的配列が初期化されていたら、処理をする
>初期化されていない場合は、処理をしない
初期化の意味が良く解りません。
配列の初期化とは、配列の各要素が初期値で埋まっている状態だと思っていますけど...?
例えば、
配列の宣言で、
Dim 配列() As long
と宣言しただけだと、配列は初期化されていないと私は考えます。
Redim 配列(☓☓)、Redim 配列(1)、Redim 配列(1 to 2)
とかされて、初めて初期化されたと考えます。
なので、VBの意味の解らない仕様がこれ。
Sub aaaaa()
Dim 配列()
MsgBox IsArray(配列) 'Trueが返りますよね。
End Sub
IsArrayってなのためにあるのか?
と考えた結果
Dim 変数 As Variant
変数 = Range("A1:A5").Value
とかなどの変数の判断材料なのかな?...と。
なもので、こんな風に使ってみたり。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=182;id=FAQ
Sub 静的配列初期化()
Dim TB(1 To 5) As Long
Erase TB '←初期化
MsgBox TB(1)
End Sub
Sub 動的配列初期化()
Dim TB() As Long
ReDim TB(1 To 5) '←初期化
MsgBox TB(1)
End Sub
とまあ、こんな風に考えてます。
|
|