VBA代码显示“否则没有错误”

我一直在试图解决它,但无法,虽然这是一个非常小的代码:请帮助,它显示“否则如果”错误:

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 

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

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

有3种方法来构造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-EsleIf-Else End If terminated constuct

例:

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

希望这可以帮助。

您可以更简洁地做到这一点,避免使用GOTO来控制程序的stream程(这通常是一个好主意),只需一个简单的循环;

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