導入:なぜスマートタグを制御する必要があるのか
Excelでセルや行を挿入した際、挿入箇所の横に小さく表示される「挿入オプション」ボタン。書式設定を細かく調整したい場合には便利ですが、大量のデータ処理や帳票作成を自動化するマクロにおいては、このボタンが邪魔になることがあります。特に、画面遷移や描画を伴う処理中に意図せずこのボタンが残ってしまうと、ユーザーに混乱を与えるだけでなく、操作上のノイズとなります。今回は、この「挿入オプション」を表示・非表示にするテクニックを解説します。
基礎知識:DisplayInsertOptionsとは
Excelには、Applicationオブジェクトの中に「DisplayInsertOptions」というプロパティが用意されています。これは、セル範囲を挿入した際に「挿入オプション」ボタンを表示するかどうかを制御するものです。
設定値:
・True(デフォルト):挿入オプションボタンを表示する
・False:挿入オプションボタンを非表示にする
このプロパティをVBAで制御することで、マクロ実行中にスマートタグが勝手に出現するのを防ぎ、UIをクリーンに保つことが可能になります。
実装:スマートタグをスマートに非表示にする
現場での実務において重要なのは「マクロが終了した後に、設定を元に戻す」という点です。もしFalseにしたままマクロを終了してしまうと、ユーザーが手動で挿入操作を行った際にもボタンが表示されなくなり、クレームの原因になる可能性があります。
必ず「処理の最初でOFFにし、処理の最後でONに戻す」という定石を守りましょう。
サンプルプログラム:安全な設定切り替え
以下のコードは、挿入時のオプション表示設定を一時的に切り替える実用的なサンプルです。
Sub ToggleInsertOptions()
‘ 現在の設定を保持するための変数
Dim originalSetting As Boolean
‘ 現在の挿入オプションの設定を記憶
originalSetting = Application.DisplayInsertOptions
‘ 挿入オプションを非表示にする
Application.DisplayInsertOptions = False
‘ — ここに実際のセル挿入処理を記述 —
‘ 例:Range(“A1”).EntireRow.Insert
‘ ———————————–
‘ 処理終了後、必ず元の設定に戻す
Application.DisplayInsertOptions = originalSetting
MsgBox “挿入オプションの設定を元に戻しました。”
End Sub
応用・注意点:現場で陥りやすい罠
1. エラーハンドリングの重要性
もし「セル挿入処理」の中でエラーが発生してマクロが強制終了した場合、DisplayInsertOptionsがFalseのままになってしまいます。これを防ぐために、On Error GoToを使用して、エラー発生時にも必ず元の設定に戻るような終了処理を実装しておくことを強く推奨します。
2. ユーザーへの配慮
基本的には、マクロ実行時は「非表示」にし、ユーザーが手作業で操作する際は「表示」にしておくのが親切です。この「状態を元に戻す」というプロセスを忘れないことが、プログラマとしての腕の見せ所です。
3. 動作環境の確認
本機能はExcel 2002以降で利用可能です。現在の業務環境であればほぼ問題なく動作しますが、極端に古いバージョンが混在する環境では念のため動作確認を行ってください。
まずは上記のサンプルを参考に、自身のマクロに組み込んでみてください。これだけで、自動化ツールの「完成度」が一段と上がりますよ。
