2013年10月20日日曜日

動的配列

EXCEL2010 の VBA で、TXT の並び替えをしようとしました。

あるソフトの吐き出した結果が、以下のような並び。
X1 Y1 Z11
X2 Y1 Z21
・ ・ ・

それを、並べなおして、新しい TXT ファイルにしたかったのです。
1 1 Z11
1 2 Z12
・ ・ ・

TXT ファイルを開いて、ソートして(他にもいくつか計算過程を入れて)、書き出すという流れにしようかと思ったのですが、X1, Y1 を1から始まる番号で書き直すので、Zのみの2次元配列でこなした方が早いことに気づきました。で、以下のように記述。

Dim Z(1 To NX, 1 To NY) As Long

ところが、「定数式が必要です」とエラーが出ます。
調べてみると、通常の2次元配列に2変数が使えない仕様のようです。知りませんでした。
動的配列の場合は、以下の通り書けばよいようです。

ReDim Z(1 To NX, 1 To NY) As Long


微妙です。が、忘れそうなので書き残しておきましょう。


0 件のコメント:

コメントを投稿