Excel VBA代码显示“;“否则无if错误”;

Excel VBA代码显示“;“否则无if错误”;,excel,vba,Excel,Vba,我一直在尝试修复它,但无法修复,尽管这是一个非常小的代码: 请帮助,它显示了一个“else without if”错误: 问题是您使用了一行IF语句 试试这个: If pass = "hummer" Then GoTo Line1 Else GoTo Line2 End If 有3种方法可以构造IF语句。 一个是如上所述的One-Liner构造,如果 示例: If pass = "hummer" Then GoTo Line1 Else

我一直在尝试修复它,但无法修复,尽管这是一个非常小的代码: 请帮助,它显示了一个“else without if”错误:


问题是您使用了
一行IF语句

试试这个:

    If pass = "hummer" Then 
        GoTo Line1
    Else
        GoTo Line2
    End If
有3种方法可以构造
IF
语句。
一个是如上所述的
One-Liner构造,如果

示例:

If pass = "hummer" Then GoTo Line1 Else GoTo Line2
If pass = "hummer" Then 
    GoTo Line1 
ElseIf pass = "something_else" Then
    GoTo Line2
Else
    GoTo Line3
End If
第二个是
End If Terminated构造
。我在上面发布了一个例子。
第三个是
If-EsleIf-Else-End-If-terminated-construct
,如果您有多个条件

示例:

If pass = "hummer" Then GoTo Line1 Else GoTo Line2
If pass = "hummer" Then 
    GoTo Line1 
ElseIf pass = "something_else" Then
    GoTo Line2
Else
    GoTo Line3
End If

希望这会有所帮助。

您可以更简洁地执行此操作,并避免使用
GOTO
通过简单的循环来控制程序流(这通常是个好主意)

Dim pass As String

Do
    pass = InputBox("Enter Password")
    If pass = "hummer" Then Exit Do
Loop

当然这是最简单的方法。