Pages

2013/07/27

[VBA] 配列はすでに宣言されています。

コンパイルエラー : 配列はすでに宣言されています
Dim hoge(5) as Integer
ReDim hoge(0 To 10)
上記のような書き方はできない。
なぜなら、配列の拡張を行う ReDim ステートメントは動的配列にしか使えないからだ。
Dim hoge() As Integer
ReDim Preserve hoge(0 To 10)
はじめに配列を宣言しているときにインデックスを決めてしまうと拡張できない。
なお、Preserve オプションを付けることで元の値が保持されたまま配列の拡張を行うことができる。
Preserve オプションは二次元配列等には使えないので注意する。
http://msdn.microsoft.com/ja-jp/library/w8k3cys2.aspx
Related Posts Plugin for WordPress, Blogger...