如何在VBA中更正此“编译错误:没有if的情况”?

时间:2019-12-03 12:54:01

标签: excel vba if-statement nested-if

我正在尝试通过开发一个简单的计算器应用程序来学习VBA,并且在尝试解决用户尝试除以零的可能性时遇到问题。这是我的代码:

Sub Division_Click()

Call Calculator

user_input1 = Input_Box1.Value
user_input2 = Input_Box2.Value

If IsNumeric(Input_Box1.Value) And IsNumeric(Input_Box2.Value) Then

    Calc_Output = CDbl(Input_Box1.Value) / CDbl(Input_Box2.Value)

    If Input_Box1.Value <> 0 And Input_Box2.Value <> 0 Then

        Output_Box.Value = Calc_Output

    Else: MsgBox ("You Can't Divide by Zero...")

Else: MsgBox ("Please Ensure All Entered Values Are Numeric")

End If

当试图运行此代码时,我被告知最后的Else语句没有If语句。但是由于我的缩进,它应该与第一个If明确相关?

如果有人可以帮助一个困惑的初学者,那就太好了!谢谢。

1 个答案:

答案 0 :(得分:0)

感谢BigBen的帮助,我错过了End If。现在,我更新了如下所示的代码,它可以正常工作。干杯!

Sub Division_Click()

Call Calculator

user_input1 = Input_Box1.Value
user_input2 = Input_Box2.Value

If Input_Box2.Value = 0 Then

    MsgBox ("You Can't Divide by Zero...")

End If

If IsNumeric(Input_Box1.Value) And IsNumeric(Input_Box2.Value) Then

    Calc_Output = CDbl(Input_Box1.Value) / CDbl(Input_Box2.Value)

    Output_Box.Value = Calc_Output

Else: MsgBox ("Please Ensure All Entered Values Are Numeric")

End If

End Sub