箸休め_3
いつもご覧いただき、ありがとうございます。
今回はMsgbox(メッセージボックス)の使い方を紹介します。
操作説明を表示したり、処理の流れを切り替えたり、何かと便利に使えるので、遊んでみてください。
今回も、前回のBook「練習2.xlsm」を使いましょう。
シート「Msgbox」を追加・作成してください。
VBAのコードは次のとおりです。
Sub Msg()
Bt = Cells(7, "D")
Ic = Cells(10, "D")
MsgBox "選択値により表示が変わります。" & Chr(13) & Chr(13) _
& "選択値と表示の関連を" & Chr(13) _
& "確認してください。" _
, Bt + Ic, "Msgbox説明 nJun"
End Sub
コピペして、実行ボタン「MSG」に関連付けてください。
ボタンの選択肢0~5の整数の中から一つを選んで7行目D列に入力
アイコンの選択肢16,32,48,64の中から一つを選んで10行目D列に入力
実行ボタン「MSG」をクリックすると
それぞれの選択肢を変えて、何度か繰り返してみてください。
なんとなく動きのイメージが見えてきましたか?
Msgboxの構文は「Msgbox 表示文字列,ボタン選択+アイコン選択,タイトル文字列」となります。
表示文字列を複数の行に分けたいときは、文字列と文字列の間にChr(13)を&(アンパサント)で挟むと行が変わります。
Chr(13)は改行記号のキャラクターコードなので、Chr(13)の数で改行数を変えることもできます。
ボタン選択とアイコン選択は、実際に使用する際は、意図するパターンに合った選択肢を数値で入れます。
「どのボタンが押されたか」の情報を受け取るためには、次のようにコーディングします。微妙な違いを注意深く御覧ください。
Sub RSP()
Bt = Cells(7, "D")
Ic = Cells(10, "D")
RC = MsgBox("選択値により表示が変わります。" & Chr(13) & Chr(13) _
& "選択値と表示の関連を" & Chr(13) _
& "確認してください。" _
, Bt + Ic, "Msgbox説明 nJun")
Cells(13, "E") = RC
End Sub
変数RCにボタンの番号が代入されますので、次のような画面を作ると確認できます。
Procedure「Rsp」を実行ボタン「応答」に関連付け、前述同様ボタンの選択肢、アイコンの選択肢を入力後、実行ボタン「応答」をクリックして表示されるメッセージボックスの応答ボタンをクリックすると13行目E列に、そのボタン№が表示されます。
実際の使い方として、例えば
If Rc=7 Then Exit Sub (応答ボタン「いいえ」がクリックされたらSubを終了しなさい)などのように、選択肢により処理の流れを変えるときに使います。
実際の動きを見ながら、使い方をイメージしてみてください。
今回も最後までご覧いただき、ありがとうございました。