VBAでの配列

またも懲りずにEXCEL VBAの話題です(笑)今回は配列の話です。

配列の最後の要素にアクセスする時、perlであれば、

hoge[-1]

と書けるのですが、EXCEL VBAにはそんな記法は存在するはずもなく、

hoge(UBound(hoge))

となります。VBAしか知らなければ、そうは感じなかったかもしれませんが、面倒です~_~;

それから、動的配列も何か中途半端です。perlには配列の要素数を予約するという概念はなく、好きなだけpushで入れていけるのですが、VBAはいちいち要素数を再宣言しなければなりません。

n=UBound(hoge)

ReDim hoge(n+1)

hoge(n+1)=123

みたいな。

そして、最初に固定サイズを宣言してしまうとサイズの再宣言はできません! これでぼくは少しハマりましたf^_^;

Dim hoge(0)

ReDim hoge(2) ← ここでエラー

配列については、慣れれば苦痛が薄れていくものだとは思います。思うんですが、何か前時代的な感が拭えません。