VBAであらかじめ用意されている関数Msgboxの使い方について紹介していきます。
Msgboxの使い方
MsgboxはExcelの画面に指定したメッセージを表示してくれる関数です。
Sub test()
MsgBox "hello"
End Sub
※コードの見方
白・・・コード
紫・・・コメント
青・・・プロシージャの宣言
その他・・・コードを見やすくするために使うかも
白・・・コード
紫・・・コメント
青・・・プロシージャの宣言
その他・・・コードを見やすくするために使うかも
実行結果
メッセージボックスには文字列として指定した”hello”が出力されています。
何も指定していないのでデフォルトではOKボタンのみ記載されていますが、オプションを付けることでメッセージボックスの表示をデザインすることができます。
メッセージボックスをデザインする
メッセージボックスにオプションを付けるには文字列の後に(,)カンマで区切る必要があります。
Sub test()
MsgBox "hello", vbOKCancel
End Sub
カンマで文字列を区切ると候補が出てきますのでその中か好きなものを選びましょう。
今回は vbOKCancel を選択して表示させます。
実行結果
OKボタンだけではなく、キャンセルボタンも表示させることができました。
Msgboxの処理の振り分け方
Msgbox関数を利用する際に、選択したボタンに応じて後続の処理を分けたい場合があります。
そんな時に利用できるのがボタンをクリックした際の戻り値です。
メッセージボックスのボタンにはパラメータが設定されているので戻り値を受取ることでその後の処理を分岐させることができます。
戻り値の受取り方は下記になります
Sub test()
Dim parameter As Long
parameter = MsgBox("hello", vbOKCancel)
End Sub
Msgboxから戻り値を受取るには引数に()カッコを付ける必要があります。
そのうえで戻り値を受取るために整数型の変数を用意して格納してあげます。
OKを選択した場合とCancelを選択した場合を見やすくするために実行は下記のコードで行います
Sub test()
Dim paramOk As Long
Dim paramCancel As Long
paramOk = MsgBox("hello", vbOKCancel)
paramCancel = MsgBox("hello", vbOKCancel)
MsgBox "OK=" & paramOk & vbCrLf & "Cancel=" & paramCancel
End Sub
実行結果
実行結果から下記のことがわかります
OKをクリック・・・・・数字の1が戻る
Cancelをクリック・・・数字の2が戻る
実際にツール作成時に処理を振り分ける場合にはこのパラメータを利用して、条件分岐をすることができます。