2016-09-21 4 views
-4

I IF-Bedingung bin mit aber mir Fehler „Else ohne IF“ kompilieren gegeben ich nach rechts -Schleifenanweisungen wollen, so wird es Formel bis AnzeigezellenErste eine msg Fehler bei der Verwendung von IF-Bedingung

With Range("K3:K" & LR) 
LR = Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row 

With .Resize(.Rows.Count - 1, .Columns.Count).Offset(2, 0) 


If Range("K" & LR).Value = "No" Then 
With .Resize(.Rows.Count - 1, .Columns.Count).Offset(2, 0) 
With Range("L3:L" & LR) 
Sheets("Sheet1").Range("L3" & LR).FormulaR1C1 = "" 

ElseIf Range("K" & LR).Value = "Yes" Then 

With .Resize(.Rows.Count - 1, .Columns.Count).Offset(2, 0) 
With Range("L3:L" & LR) 
Sheets("Sheet1").Range("L3" & LR).FormulaR1C1 = "=RC[-2]*0.25%" 

Else 

Return 




End With 
End With 
    End If 
    End With 
    End With 

berechnen Bitte helfen Sie hierzu

+3

Mit 4 verschachtelten 'With' Blöcken würde ich eine korrekte Einrückung empfehlen. Sie werden bemerken, dass der 'ElseIf' tatsächlich ohne' If' im 'With Range (" L3: L "& LR)' Block ist. – arcadeprecinct

+1

Ich zähle 6 'With' und 4' End With', so dass auf ein Problem genau dort hindeutet ... Auch gibt es keine 'Return' in VBA, es sei denn, das ist eine Methode, die Sie erstellt haben. –

+0

Ich habe 2 End With und Else Return hinzugefügt, allerdings gibt es immer noch die gleiche Fehlermeldung –

Antwort

5

Sie können Blöcke nicht verschachteln.

folgenden Code ein End If without If block Fehler erzeugen:

If True Then 
    With Range("A1") 
End If 
    End With 

folgenden Code generiert einen End With without With block Fehler:

With Range("A1") 
    If True Then 
End With 
    End If 

Benutzen Sie den Code wie folgt aus:

With Range("A1") 
    If True Then 
    End If 
End With 

oder

If True Then 
    With Range("A1") 
    End With 
End If 

Wie von arcadeprecinc erwähnt, hätte eine richtige Einrückung Ihres Codes das Problem gezeigt.

Verwandte Themen