二次元配列の任意の行の“後ろ”に空行を1行挿入する汎用プロシージャ Excel VBA
- yuji fukami
- 1 日前
- 読了時間: 2分

<概要 行挿入>
InsertRowArray2D は、二次元配列の任意の行の“後ろ”に空行を1行挿入する汎用プロシージャです。配列のサイズを1行分拡張し、指定位置以降をずらして新しい空行を作ります。
InsertRow = 0 → 先頭に1行追加(新1行目が空行)
InsertRow = 1 → 1行目の後ろに空行(新2行目が空行)
InsertRow 省略 / -1 → 最終行の後ろに1行追加
入力配列は 「二次元」かつ「開始インデックスが1」 である必要があり、IsArray2D と IsArray2DStart1 がその前提チェックを担当します。
<実行例>
実行例のサンプルコードは次の通りです
実行結果のイミディエイトウィンドウは次のようになります。

上記の実行結果から、InsertRowArray2D の挙動の違いを確認できます。
InsertRow = 0 を指定した場合は、配列の先頭(1行目)に空白行が追加されます。
InsertRow に 1 以上の行番号を指定した場合は、指定した行の後ろに空白行が1行追加されます。
InsertRow を省略した場合は、最終行の後ろに空白行が追加されます。
いずれの場合も、追加された行の各要素は (Empty) となり、既存のデータ行は順序を保ったまま後ろへシフトしていることが分かります。
<関連コード>
今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。
・IsArray2D → https://www.softex-celware.com/post/isarray1d
・IsArray2DStart1 → https://www.softex-celware.com/post/isarray1d
<関連記事>
今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。
コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


コメント