【Day45】文系オタクのエンジニア道~関数④~MsgBox Part2
こんにちは
安田です
色々と奥深いメッセージボックスの続きです
ユーザーの操作を判定する
MsgBox関数は、ユーザーがどのボタンをクリックしたかを返します
複数のボタンを表示したとき
→関数の戻り値で結果を判定する→戻り値を受け取る
「OK」ボタンだけを表示したとき
→関数の戻り値は必要ない→戻り値を受け取らない
戻り値を受け取るとき 関数の引数をかっこで囲む
戻り値を受け取らないとき 関数の引数をかっこで囲まない
間違った文法
かっこで囲っていないため
Sub test1()
Dim A As Long
'文法エラーになる
A = MsgBox "メッセージ", vbYesNo
End Sub
正しい文法
vbYesNoを指定しているので
「はい」「いいえ」のボタンが表示されます
戻り値を使うので引数をかっこで囲う必要があります
Sub test1()
Dim A As Long
A = MsgBox("メッセージ", vbYesNo)
End Sub
戻り値に関する定数
定数の実体は数値となります
変数の型をLong型(長整数型)やInteger(整数型)で宣言します
Sub test2()
Dim A As Long
A = MsgBox("メッセージ", vbYesNo)
If A = vbYes Then
Else
End If
End Sub
Enterキーでボタンクリック
マウスのクリックだけでなく
Enterキーを押すことで
ボタンがクリックされたとみなすことができる
定数
vbDefaultButton1やvbDefaultButton2で指定します
Sub test3()
Dim A As Long
A = MsgBox("メッセージ", vbYesNo + vbDefaultButton1)
A = MsgBox("メッセージ", vbYesNo + vbDefaultButton2)
End Sub
メッセージボックス内で改行する
定数
vbCrLf
を指定します
Sub test4()
MsgBox "ジョジョの奇妙な冒険" & vbCrLf & "第5部" & vbCrLf & "黄金の風"
End Sub
まとめ
色んなやり方で
メッセージボックスを表示することが分かりました
改行は便利そうなので
しっかりとインプットしていきます
「VBAマスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください