Excel-VBA-Kompilieren-Fehler Else ohne If
Ich versuchen einen code, wenn Spalte "L" und der Spalte "V" angegeben "Abgeschlossen" auf beide. Dann Spalte "B" zeigt "Abgeschlossen" sonst wird es zeigen "unvollständige" es zeigt aber, kompilieren Fehlermeldung "Else ohne if".
Unten ist mein code
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
- In Ihrem Fall ist das "Dann" muss auf der gleichen Zeile wie die "Wenn", aber es sollte die Letzte Sache auf der Strecke und der Teil nach dem "Dann" sollte auf einer separaten Zeile. Wenn Sie alles, was nach dem "Dann" in der gleichen Zeile wie die "Wenn", dann die "If" ist eine einzelne Zeile-statement und dann "Else" und "End If" muss auch auf der gleichen Linie.
- Bitte poste keine Bilder von deinem code. Es macht den code schwer zu Lesen sind, wird verhindert, dass beim kopieren/einfügen, um zu testen oder Probleme zu lösen, und es ist eher unfreundlich für Benutzer mit eingeschränkter Bandbreite. Kopieren Sie den code und/oder in entsprechenden Fehlermeldungen, und fügen Sie Sie als text zu deiner Frage. Bilder sollten nur verwendet werden, wenn sonst nichts funktioniert, um zu erklären, das Problem, das Sie haben. Bitte Bearbeiten, um den eigentlichen code. (Eine Aufnahme des gesamten Bildschirms ist auch in keiner Weise relevant für die Frage; könnte man zumindest höflich genug, um es beschneiden, um die minimale Größe erforderlich.) Danke.
- End if platziert werden soll nach .range("B" & x) = "Unvollständig" ...Nicht nach der nächsten
- Ich bitte um Entschuldigung, ich schon aktualisiert, meinen code display-format.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dinge zu ändern, die auf Ihrem code:
Then
, oder verschieben Sie diese zurück, bis Sie am Ende derIf
End If
vor derNext
End If
über dieEnd Sub
mitEnd With