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 中有以下两个值:

假设我们要创建一个宏,向用户显示一个消息框,并询问他们是否要将单元格 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:如何冻结窗格

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注