PR

【ExcelVBA】メッセージボックスいろいろ

記事内に広告が含まれています。

ExcelVBAでメッセージボックスを出す備忘録です。

単純にメッセージを出す場合や、メッセージボックスに出すボタンの

クリックによってその後の処理を変えたい時など

いろいろ使い道があります。

スポンサーリンク

メッセージボックスを使う①メッセージを出す

もっともシンプルな、メッセージを出すものはこちらです。

Sub msgtest01()

MsgBox "テスト"

End Sub

結果はこちらです。

標準のメッセージは、タイトルはMicrosoft Excelとなります。

メッセージボックスのタイトルだけを変える

タイトルを自分の好きなようにつける場合は下記のように

, ,(カンマ、スペース、カンマ)を入れ、

その次に”(ダブルクォーテーション)で囲って文字列を入れます。

Sub msgtest02()

MsgBox "テスト", , "タイトル"

End Sub

結果はこちらです。

メッセージボックスの構成

カンマとスペース、カンマはその間の設定を省略するという設定です。

では、その省略された設定というのは何でしょうか?

それはメッセージボックスのボタン、メッセージボックスに出すアイコンの種類です。

メッセージボックスの構成はこのようになっています。

msgbox "メッセージボックスの出す文字列",(ボタンの種類),(アイコンの種類),"(タイトル)"

詳しい設定方法はこちらです。

上記を全部記載した例はこちらです。

MsgBox "テスト", vbOKOnly, "タイトル"

結果はこちらです。

メッセージボックスを使う②「はい」ボタンが押された場合

メッセージボックスを出して、ボタンに「はい」、「いいえ」を設定した場合

「はい」を選択した場合の処理と「いいえ」を選択した場合の処理があると思います。

その場合はどうするか?

例)続けますか?とメッセージボックスを出し、「はい」が押されたら続行する。

    Dim ret As Long
    ret = MsgBox("続けますか?", vbYesNo)
    If ret = 6 Then
        MsgBox "続行"
    Else
        MsgBox "終了"
    End If

vbYesNoを使っているので、ボタンには「はい」、「いいえ」が表示されます。

「はい」が押されると、retに6が入るので(上の図参照)

if文でretの値が6か判断します。

「いいえ」ボタンを押された場合や、×で閉じられると、retに6が入らないので

それ以外の処理になります。

メッセージボックスを使う③長いメッセージを改行する

長いメッセージを出す場合、読みやすくするために改行します。

いくつか方法がありますが、ここではvbCrを使います。

MsgBox "あああああああああああああああああああああああああああああ" & vbCr _
& "かかかかかかかかかかか"

結果はこちらです。

ほかにも、chr(13)やchr(10)を使う方法もあります。(この2つを両方使うのも見たことがあります)

にほんブログ村 小説ブログ ライトノベル(小説)へ にほんブログ村 小説ブログへ にほんブログ村 アニメブログへ にほんブログ村 アニメブログ アニメ情報へ にほんブログ村 漫画ブログへ にほんブログ村 漫画ブログ 漫画備忘録へ
タイトルとURLをコピーしました