使用两个If语句时需要错误424对象

时间:2017-10-13 09:03:05

标签: vba

这是我的代码:

Private Sub CommandButton1_Click()
    If (TextBox1.Value = "goals") Then
         s = MsgBox("write down your goals", vbYesNo, "goals")
    End If

    If (s = MsgBoxResult.Yes) Then
        InputBox("", "goals", "", 50, 50)
    End If
End Sub

如果你在消息框上按yes,它应该创建一个输入框,但它给出了我需要的错误424对象,调试器突出显示if语句,检查你是否单击是。

1 个答案:

答案 0 :(得分:2)

MsgBoxResult.*.NET Enumeration,在VBA中不起作用。
您需要使用VbMsgBoxResult。

将第二个if子句更改为:

If (s = VbMsgBoxResult.vbYes) Then
    m = InputBox("", "goals", "", 50, 50)
End If

如同@ YowE3K所述,这也有效:

If (s = vbYes) Then
    m = InputBox("", "goals", "", 50, 50)
End If