メッセージウィンドウの非表示

Excelの操作の中には、実行する前に確認ウィンドウや警告ウィンドウを表示するものがあります。例えばワークシートを削除する場合やセルを結合する場合などです。ウィンドウが表示されると、ユーザーが何らかの指示をするまでプログラムは止まってしまいます。ここでは Excel VBA を使って確認ウィンドウや警告ウィンドウを表示しない方法を解説します。

(Last modified: )

メッセージウィンドウの非表示

Applicationオブジェクトの「DisplayAlerts」プロパティで「False」を設定するとウィンドウが表示されなくなります。改めて表示させたい場合には「True」を設定します。

Application.DisplayAlerts = False

この設定は永続的なものではなく、マクロの実行が終了すると自動的に設定は「True」に戻ります。

サンプルプログラム

では簡単なサンプルで試してみましょう。まず警告ウィンドウが表示される例を試してみます。

次のようなExcelファイルを用意します。

メッセージウィンドウの非表示

セルB2とセルC2を結合してみます。この場合、どちらのセルにも値が入っているので警告ウィンドウが表示されます。

Sub テスト()
   
    Range("B2:C2").Merge

End Sub

上記マクロを実行すると次のように警告ウィンドウが表示されます。

メッセージウィンドウの非表示

ここでユーザーが「OK」ボタンを押さなければ処理は先に進みません。「OK」ボタンを押せば次のようにセルは結合されます。

メッセージウィンドウの非表示

では警告ウィンドウを表示しないように変更してみます。Excelは元の状態に戻しておいて下さい。

Sub テスト()

    Application.DisplayAlerts = False
    
    Range("B2:C2").Merge

    Application.DisplayAlerts = True

End Sub

上記マクロを実行すると、今度は警告ウィンドウが表示されずにセルが結合されます。

メッセージウィンドウの非表示

上記の例では「DisplayAlerts」プロパティに「True」を設定して明示的に元に戻しています。単純なサンプルであれば必要ありませんが、うっかりミスをなくすためにも必要がなくなったら元に戻しておいたほうが宜しいかと思います。

-- --

Excel VBA を使って確認ウィンドウや警告ウィンドウを表示しない方法を解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。