今回は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