2014-04-08 3 views
1

내가 그것을 해결하기 위해 노력하지만 매우 작은 코드 비록, 할 수 없습니다되었다 보여줍니다 이 도와주세요, 그것은 "만약없이 다른 사람의"를 보여주는 것 오류 :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 

답변

0

문제는 one liner IF statement입니다.
이 시도 : IF 문을 contruct하는 3 가지 방법이 있습니다

If pass = "hummer" Then 
     GoTo Line1 
    Else 
     GoTo Line2 
    End 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 

희망.

+0

감사합니다. ... – Gajju

2

더 간단하게 수행 할 수 있으며 간단한 루프로 GOTO을 사용하여 프로그램의 흐름을 제어하지 않아야합니다 (일반적으로 좋은 아이디어 임).

Dim pass As String 

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

물론 가장 간단한 방법이 있습니다. – L42