消息框是/否响应相同

时间:2019-08-23 09:43:19

标签: excel vba

我正在制作一个电子表格,用于记录发动机测试中传动轴的使用情况。他们在用户表单上记录安装或卸下的传动轴,然后电子表格会自动更新所有内容。作为此过程的一部分,我希望它在他们尝试安装以前可能已报废但还可以继续使用的传动轴时自动进行标记(也可能出于某些原因使它无法正常使用)。为此,我将其设置为打开一个带有“是/否”选项的消息框,如果传动轴被记录为报废,但无论选择哪个按钮,都将发生相同的结果。

ElseIf Installbutton = True And Locationtext = "Scrapped" Then

MsgBox "This Propshaft is showing as Scrapped" & vbNewLine & "Do you wish to continue with the install?", vbYesNo + vbDefaultButton2 + vbQuestion

    If vbYes Then
    GoTo 10
    Else
    Exit Sub
    End If

Else

因此,无论按下什么按钮,它都将继续,就像您按了是一样并继续运行子菜单的其余部分。我已经更改了代码,以使vbNo首先出现,但是无论您按下什么按钮,它都会退出子控件。我也尝试过使用vbYes或vbNo的数字,但这没什么区别。

我也尝试过尝试answer = messagebox(“ blah,blah,blah”),如果answer = vbYes依此类推,但这没有任何改变。

我确定我缺少明显的东西,有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您需要将用户的“答案”保存到变量中并测试该变量:

uinput = MsgBox("Answer yes or no", vbYesNo)

If uninput = vbYes Then
    'Do something
ElseIf uninput = vbNo Then
    'Do something else
End if

请注意,我在MsgBox函数的参数周围添加了括号,因为在使用函数填充变量时这是必需的。