見出し画像

箸休め_3

いつもご覧いただき、ありがとうございます。
今回はMsgbox(メッセージボックス)の使い方を紹介します。

操作説明を表示したり、処理の流れを切り替えたり、何かと便利に使えるので、遊んでみてください。

今回も、前回のBook「練習2.xlsm」を使いましょう。
シート「Msgbox」を追加・作成してください。

シート「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を終了しなさい)などのように、選択肢により処理の流れを変えるときに使います。

実際の動きを見ながら、使い方をイメージしてみてください。
今回も最後までご覧いただき、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?