トップページ

#7_4 二次元配列/多次元配列


2次元配列はExcelにフィットする

Excelのワークシートは行と列からなる2次元のシートです。なので、配列も2次元のものが感覚的に使いやすく、作業も効率化しやすいです。

ちなみに2次元配列においては、セル範囲の指定などにおいてRangeオブジェクトよりもCellsプロパティが相性が良く便利です。

例えば次のような2次元のデータベースがSheet1にあったとして、そこから必要な情報を抽出してイミディエイトウィンドウに表示させるマクロを見てみましょう。

(応用)バリアント型変数にセル範囲の値を代入

マクロの中で頻繁に登場するのが、セルの値を変数に代入するケースです。今までは「変数 = Range("A1").Value」というようにセル値を代入しました。

では、A1:E5というようなセル範囲はどのように処理したらよいのでしょうか。もちろん2次元配列を用いれば配列にそれぞれのセル値を代入できますし、実用上はそれで十分です。

ですがせっかくなので、バリアント型変数を用いた隠れたテクニックを知っておきましょう。

実はセル範囲の値をそのままバリアント型変数に代入することで、自動的に2次元配列変数として処理されるのです。