我嘗試運行代碼時,列「L」和列「V」表示「完成」兩個。然後列「W」將顯示「Completed」,否則它將顯示「未完成」,但顯示編譯錯誤「Else with you if」。Excel VBA編譯錯誤否則沒有如果
下面是我的代碼
Sub OverallStatus()
Dim x As Long
Dim lastrow As Long
With Sheet1
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
lastrow = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
Else
lastrow = 1
End If
For x = 2 To lastrow
If .Range("L" & x) = "Completed" And .Range("V" & x) = "Completed" Then
.Range("W" & x) = "Completed"
Else: .Range("W" & x) = "Incomplete"
End If
Next
End With
End Sub
在你的情況下,「然後」必須在同一行的「如果」,但它應該是上線的最後一件事和部分後面的「然後「應該在一個單獨的行。如果你在「Then」之後放置了與「If」相同的行,那麼「If」是單行語句,然後「Else」和「End If」也必須位於同一行。 –
請不要發佈你的代碼的圖像。它使代碼難以閱讀,防止複製/粘貼來測試或解決問題,對於帶寬有限的用戶來說這是相當粗魯的。複製您的代碼和/或任何相關的錯誤消息,並將其作爲文本粘貼到您的問題中。只有在沒有其他工作可以解釋您遇到的問題時才應使用圖片。請[編輯]包含實際的代碼。 (捕捉整個屏幕也與所提問題無關;您至少可以足夠禮貌地將它裁剪爲最小尺寸。)謝謝。 –
如果應該放在.range(「W」&x)=「Incomplete」之後,則結束...不在下一個 –