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 PerformedEnd 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 PerformedEnd If

End Sub

このマクロを実行すると、次のメッセージ ボックスが表示されます。

VBA メッセージボックス「はい」または「いいえ」

[はい]をクリックすると、マクロはセル A1 と B2 の値を乗算し、結果をセル C1 に表示します。

ただし、 [いいえ]をクリックすると、新しいメッセージ ボックスが表示されます。

メッセージ ボックスは、前のメッセージ ボックスで[いいえ]をクリックして以来、乗算が実行されなかったことを示します。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: メッセージ ボックスに新しい行を追加する方法
VBA: 新しいシートを追加する方法
VBA: ペインをフリーズする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です