【EXCEL VBA】MsgBoxのデフォルトフォーカスを変更したい

今回はMsgBoxのデフォルトフォーカスの変更方法を紹介します。ユーザの誤操作防止には、デフォルトフォーカスの設定は欠かせません。設定自体は非常に簡単なので、確認してみてください。

サンプルプログラムを実行すると以下のMsgBoxが表示されます。デフォルトフォーカスの位置に注目してください。ポイントは「vbDefaultButton1」となります。最後の数字が何番目のボタンをデフォルトフォーカスとするかの指定になります。

サンプルプログラム

Option Explicit

Sub sample()

    Dim result
    
    result = MsgBox("フォーカスは「はい」", vbYesNoCancel)
    
    result = MsgBox("フォーカスは「はい」", vbYesNoCancel + vbDefaultButton1)
    
    result = MsgBox("フォーカスは「いいえ」", vbYesNoCancel + vbDefaultButton2)
    
    result = MsgBox("フォーカスは「キャンセル」", vbYesNoCancel + vbDefaultButton3)
    
End Sub