Vba: はい/いいえで答えるメッセージ ボックスを作成する方法
VBA で次の構文を使用して、ユーザーが [はい] または [いいえ] を選択するためのメッセージ ボックスを作成できます。
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
Else
MsgBox “ No Multiplication was Performed ”
End If
End Sub
この特定のマクロは、セル A1 と B1 を乗算するかどうかをユーザーに尋ねるメッセージ ボックスを作成します。
ユーザーが「はい」をクリックすると、両方のセルが乗算され、結果がセル C1 に表示されます。
ユーザーが「いいえ」をクリックすると、乗算が実行されていないことを示す新しいメッセージ ボックスが表示されます。
vbYesNoステートメントは、ユーザーがクリックするための「はい」ボタンと「いいえ」ボタンを挿入するものであることに注意してください。
次の例は、この構文を実際に使用する方法を示しています。
例: はい/いいえで答えるメッセージ ボックスを作成する
Excel シートのセル A1 と B1 に次の 2 つの値があるとします。
ユーザーにメッセージ ボックスを表示し、セル A1 と B1 の値を乗算するかどうかを尋ねるマクロを作成するとします。
これを行うには、次のマクロを作成できます。
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
Else
MsgBox “ No Multiplication was Performed ”
End If
End Sub
このマクロを実行すると、次のメッセージ ボックスが表示されます。
[はい]をクリックすると、マクロはセル A1 と B2 の値を乗算し、結果をセル C1 に表示します。
ただし、 [いいえ]をクリックすると、新しいメッセージ ボックスが表示されます。
メッセージ ボックスは、前のメッセージ ボックスで[いいえ]をクリックして以来、乗算が実行されなかったことを示します。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: メッセージ ボックスに新しい行を追加する方法
VBA: 新しいシートを追加する方法
VBA: ペインをフリーズする方法