VBA

【VBAで配列操作:特殊な配列】

Excel VBA

特殊な配列

基本的な配列は下のリンクの記事までで、一通り説明しました。まだ読まれていない方は読んでみてください。

これまでに静的配列、動的配列、多次元配列の基本を解説してきましたが、配列にはその3つと異なる異色な物が存在します。

難しいわけではありませんが、使用されているコードを見る機会がありますので、こんなものもあるんだ、位の気持ちで読んでください。

多段階配列

多段階配列と言われてピンとくる方はいらっしゃいますか?
ピンときませんよね(笑)

多段階配列とは、他のプログラミング言語では「ジャグ配列」などと呼ばれたりもします。

簡単に説明すると配列の要素が配列であるものです。
要は配列が入れ子になっている配列です。

わかり難いので、実例を載せますね。
まず下の図の様なCSVを用意してください。
※Sample.csvとファイル名をつけ保存してください。

この、CSVを読み込んでジャグ配列へ格納したいと思います
Sample.csvを保存した場所へエクセルファイルを作り、VBEの標準モジュールへ下記コードを記述してください。

Stopステートメントで止まったところでローカルウィンドウを開くと次の図の様に配列が出来上がっていると思います。

通常の多次元配列との違いがお分かりでしょうか?
ポイントはmyArray(X)(Y)となっています。
多次元配列の場合、myArray(X, Y)となっていましたよね。
これが多段階配列(ジャグ配列)です。

おわりに

今回サンプルの多段階配列(ジャグ配列)は使い道がわからないかも知れませんが、もっと実用的なジャグ配列を配列シリーズの記事で使っていきたいので、頭の片隅にでも、「こんな機能があるんだ」くらいに覚えていただくと良いかと思います。

ジャグ配列を取り上げている書籍はVBAでは少ないです。

C#やVB.NETなどの書籍を読むと記載があります。

ぜひVBAに読み替えてC#などの書籍も読んでみると出来ることが一気に増えるかと思います。

複数の言語を学ぶことで、プログラミング力が飛躍的に向上するのでC#の本も読んでみてください。