二次元配列から複数の指定列から抽出して別の二次元配列を作成する(Excel VBA)
- yuji fukami
- 1月8日
- 読了時間: 2分
<概要>
今回は二次元配列から複数の指定列から抽出して別の二次元配列を作成する汎用プロシージャの紹介です。
前回紹介した汎用プロシージャ「ExtractColArray2D」では指定した1つの列を一次元配列として取得する処理でしたが、今回紹介する汎用プロシージャ「ExtractColsArray2D」では、「Col」が複数形になっていることからも分かる通り、二次元配列において抽出する列を複数指定して、それらの列を結合して二次元配列を作成するような処理となります。
複数の列指定では。可変長引数配列「ParamArray」を利用しています。ワークシート関数のSUM関数のように複数のセル範囲を指定することができるように、可変長引数配列を利用すれば複数の引数を入力できるようなプロシージャが構築できます。このような実装の例としても一つ参考としてみてください。
では実際の処理を見て行きましょう。
<実行例>
実行例のサンプルコードは次の通りです
上記コードで配列の中身の確認には以前に紹介したDPAを利用しています。
シート上の値は次のようになっています。

実行結果(イミディエイトウィンドウ)は次のようになります。
元の二次元配列の1列目と3列目と5列目が抽出されているのがわかります。

<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。
Comments