133:マクロ素材 MsgBoxの紹介

100:エクセル

MsgBoxの構文は、マクロを作っていくうえで変数の内容を確認するときにすごく便利ですので、ぜひとも、MsgBoxを覚えていただきたいです。

MsgBoxの基本

基本は、

MsgBox ”文字列” & 変数

です。

”文字列” だけでも良いですし、変数だけでも良いです。

もう、これだけです。この場合には、引数はひとつです。

応用

これは、覚えなくて良いのですが、いろいろな形でメッセージボックスが出せます。

どんなものがよいか、迷ったら、以下のマクロ文を使っていろいろなメッセージを出して、適切なものを選んでください。以下の内容を、moduleに貼り付けて、マクロを動かしてください。

Sub メッセージいろいろ()
 'msgboxのいろいろな記載方法を表示する
 'vbCrLfは、改行すること。たぶん ビジュアル ベーシック クリア レフトの略
 'Chr(32)でも良いらしい
 MsgBox "なにも指定しない"
 MsgBox "0で64", 0 + 64, "0のとき"
 MsgBox "構文が1で" & vbCrLf & "アイコン48", 1 + 48, "1のとき"
 MsgBox "構文が2で" & vbCrLf & "アイコン32", 2 + 32, "2のとき"
 MsgBox "構文が3で" & vbCrLf & "アイコン16", 3 + 16, "3のとき"
 MsgBox "構文が4で" & vbCrLf & "アイコン32", 4 + 32, "4のとき"
 MsgBox "構文が5で" & Chr(13) & "アイコン48", 5 + 48, "5のとき"
 End Sub

6行目を見てください。6行目には、

MsgBox "0で64", 0 + 64, "0のとき"

と、記載されております。頭のMsgBoxの次に引数1がきて、”文字列”を表示しております。次の引数2には、構文とアイコンを、構文+アイコン という記載方法で記載することとなってます。これ足した数字でも大丈夫かと思って、やってみましたが、うまくいきました。でも、内容がわからなくなるので、足し算のまま動くのであれば、足し算のままでもよいと思いました。

引数3の”0のとき” とありますが、これは、メッセージボックスのタイトルのところにくる文字列を指定しております。引数3を省略すると、Microsoft Excelと表示されます。

MsgBoxを変数として使う

あまり難しいことを記載するつもりがないので、最も一般的なものだけ記載します。

Sub メッセージ表示選択()
 結果 = MsgBox("処理を続けますか?", vbYesNo + vbQuestion, "どちらですか?")
 If 結果 = vbYes Then
     MsgBox "処理を継続します"
 Else
     MsgBox "処理を終わります"
 End If
End Sub

vbYesNo は、4。 vbQuestion は、32なので、2行目は、

 結果 = MsgBox("処理を続けますか?", 4 + 32, "どちらですか?")

に変更できます。数字を覚えるより、入力するときのアシスタントを活用したほうが、やりやすいです。

vbYesNo の数字は、

はい(Y)を押すと、6。 いいえ(N)を押すと、7。を返します。

 If 結果 = vbYes Then
MsgBox "処理を継続します"
Else
MsgBox "処理を終わります"
End If

上記は、もしも結果が6の場合には、”処理を継続します”と表示し、6でない場合(NOは7)は、”処理を終わります”を表示します。と、日本語では言えます。

133:マクロ素材 MsgBoxの紹介

コメント

タイトルとURLをコピーしました