二次元配列の指定した列の「後ろ」に新しい列(空列)を1本挿入する汎用プロシージャ Excel VBA
- yuji fukami
- 2025年12月19日
- 読了時間: 2分

<概要(列挿入)>
InsertColArray2D は、二次元配列の指定した列の「後ろ」に新しい列(空列)を1本挿入するための汎用関数です。配列の列数を増やしつつ、既存データの並び順を保てるので、途中に計算列・フラグ列・ID列などを追加したい場面で便利です。
InsertCol を省略:最終列の後ろに列を追加(デフォルト動作)
InsertCol=0:先頭に列を追加(※コード上の判定ロジックにより “先頭追加” になる)
InsertCol=1:1列目の後ろ(=2列目として)列を追加
InsertCol=2:2列目の後ろ(=3列目として)列を追加 …という使い方
内部で IsArray2D と IsArray2DStart1 によるチェックを行うため、想定外の配列(2次元でない/開始が1でない)を渡した時点で検知できます。
<実行例>
実行例のサンプルコードは次の通りです
実行結果のイミディエイトウィンドウは次のようになります。

実行結果の様に指定の列(InsetCol)の後ろに空白の列が挿入されたり、InsertColが0の時は先頭に空白列が挿入されているのが確認できます。
<関連コード>
今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。
・IsArray2D → https://www.softex-celware.com/post/isarray1d
・IsArray2DStart1 → https://www.softex-celware.com/post/isarray1d
<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。

