Excel ベーシック 問題 8 – 22
次の図のようなメッセージボックスを表示し、「はい」「いいえ」「キャンセル」の選択結果によって、別のメッセージを表示したい。このとき、【 1 】に入る適切な内容を答えなさい。
Sub Test1()
Dim A As Long
A = 【 1 】
If A = vbYes Then
MsgBox "作業を中止します"
End If
If A = vbNo Then
MsgBox "作業を継続します"
End If
If A = vbCancel Then
MsgBox "キャンセルします"
End If
End Sub
選択肢
- MsgBox "作業を中止しますか?", vbYesNoCancel + vbQuestion
- MsgBox "作業を中止しますか?", vbYesNoCancel + vbInformation
- MsgBox("作業を中止しますか?", vbYesNoCancel + vbQuestion)
- MsgBox("作業を中止しますか?", vbYesNoCancel + vbInformation)
正解を見る
正解
3. MsgBox("作業を中止しますか?", vbYesNoCancel + vbQuestion)
解説
「MsgBox関数」は、メッセージボックスを表示する関数です。
※メッセージをただ表示する場合
MsgBox 表示するメッセージ, ボタンやアイコンの種類, タイトル
※戻り値を利用する場合
MsgBox(表示するメッセージ, ボタンやアイコンの種類, タイトル)
「ボタンやアイコンの種類」「タイトル」は省略可能です。
この問題のように、メッセージボックスの回答結果(戻り値)を利用して処理を進める場合、引数を括弧で囲みます。
また、「はい」「いいえ」「キャンセル」のボタンを出すには、「ボタンやアイコンの種類」に「vbYesNoCancel」を指定します。
そして、問い合わせメッセージのアイコン(「?」のアイコン)を出すには、「ボタンやアイコンの種類」に「vbQuestion」を指定します。
そのため、この問題の正解は、「MsgBox("作業を中止しますか?", vbYesNoCancel + vbQuestion)」になります。
なお、「ボタンやアイコンの種類」に「vbInformation」を指定した場合、以下のように情報メッセージのアイコン(「i」のアイコン)が出ます。