VBA代码显示" Else没有错误"

时间:2014-04-08 05:00:50

标签: excel vba

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

Private Sub Workbook_Open()

Line2:
    Dim pass As String
    pass = InputBox("Enter Password")
    If pass = "hummer" Then GoTo Line1
    Else
    GoTo Line2
    End If

Line1:
    End Sub

2 个答案:

答案 0 :(得分:2)

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

Dim pass As String

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

答案 1 :(得分:0)

问题是您使用了one liner IF statement 试试这个:

    If pass = "hummer" Then 
        GoTo Line1
    Else
        GoTo Line2
    End If

有三种方法可以构建IF声明 一个是我上面提到的One Liner Construct,它不需要以End If终止。

示例:

If pass = "hummer" Then GoTo Line1 Else GoTo Line2

其次是End If Terminated Construct。例子就是我上面发布的内容 如果你有多个条件,第三个是If-EsleIf-Else End If terminated constuct

示例:

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

希望这有帮助。