Excel で、特定の行に対するの挿入/削除を抑制するための実装例。
GitHubGist で公開している行挿入/削除監視用クラス の、別バージョン。
- 対象となる Excel ブック(マクロ有効ワークシート)を開き、開発→ Visual Basic で VBE を起動して、clsRowProtection クラス モジュールをインポート
- 同じく、Sheet1 クラス モジュールをインポート(※クラス モジュールの所に入るので、シート用モジュールの雛型として使用)
- サンプル Excel ブックの「RowProtectionConfig」シートを参考に設定用シート「RowProtectionConfig」を作成し、保護対象行のセル参照を記述(一枚の設定シート上に複数シート・複数行の設定を記述可能、A・B列における空欄や別シートへのセル参照数式になっていないセルは無視される)
- VBE にて、対象となる(行の挿入/削除保護を行いたい)シートオブジェクトに、2. でインポートされたソースコードの内容をそのままコピー&ペースト
- 動作保証無し
- シートもしくはテーブルの行全体を対象とする挿入/削除のみ対応(部分的な挿入/削除には未対応)
- 上書き等に関しては保護されないため、必要に応じて別途シートの保護などをかけること
- ソースコードは、Excel の VBA からエクスポートしたもの(文字コード:シフトJIS・改行:CR+LF)。