我真的不知道爲什麼VBA編譯器嘮叨我,因爲GoTo Jump
,分別Jump:
。Excel VBA:在for循環中跳轉:「Next without For」 - 我做錯了什麼?
counter2 = 0
If (counter1 > 1) Then
For i = 0 To (MaxLastCell - 4)
If (IncompleteRows(i) = 1) Then
If ((counter2 > 1) And (counter2 < counter1)) Then
x = x + ", " + CLng(i)
counter2 = counter2 + 1
GoTo Jump
End If
If ((counter2 > 1) And (counter2 = counter1)) Then
x = x + " and " + CLng(i)
GoTo Outside
If (counter2 = 0) Then
x = CLng(i)
counter2 = 1
End If
End If
Jump:
Next i
每當我嘗試運行我的代碼時,此代碼段似乎是一個問題。編譯器在最下方標記Next
,並告訴我有一個"Next without For"
。
但不應該這種編碼工作?我剛看到它here。然而,一個奇怪的事情是,編譯器似乎並沒有強制B H將其跳躍點NextIteration:
移動到最左邊,但允許它停留在第二個縮進級別,因此在之內for
-loop,as它似乎。 (難道,即使有關係嗎?)
將IF結構更改爲ElseIF,如下面的答案。然後,您可以刪除goto Jump行,並用'Exit For'替換外部的goto。 –