2016-11-10 9 views
0

Ich versuche, etwas VBA-Code zu schreiben, der bedingte Formatierung zu einem Blatt hinzufügt, jedoch laufe ich in einen anwendungsdefinierten Fehler. Das Folgende ist mein CodeBedingte Formatierungsfehler

With sheet1.Range("C2:C") 
    .FormatConditions.Delete 
    .FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(ISBLANK($B2))" 
    .FormatConditions(1).Interior.ColorIndex = RGB(225, 242, 255) 
End With 

Irgendwelche Vorschläge, warum dies passieren könnte?

Danke!

+1

Welche Zeile tritt der Fehler erscheinen? Korrigiere mich, wenn ich falsch liege, aber 'Range (" C2: C ")' ist kein gültiger Bereich? –

+0

Sie sehen so aus, als würden Sie die Startzellenzeile angeben, aber nicht die letzte Zellenzeile. Suchen Sie nach einer Möglichkeit, diese Nummer dynamisch hinzuzufügen? – Clyde

+0

Danke, dass Sie Recht haben, ich habe nur den Bereich geändert, um eine Endzeile zu enthalten. Aber jetzt bekomme ich einen "Indexfehler außerhalb des Bereichs" für die Interior.ColorIndex-Zeile des Codes? – ViggieSmalls

Antwort

1

Range("C2:C") ist kein gültiger Bereich, machen es festgesetzt oder die folgenden macht es dynamisch:

Dann wird Ihr ColorIndex ändern nur Color:

With Range("C2:C" & Cells(Rows.Count, "C").End(xlUp).Row) 
    .FormatConditions.Delete 
    .FormatConditions.Add Type:=xlExpression, Formula1:="=NOT(ISBLANK($B2))" 
    .FormatConditions(1).Interior.Color = RGB(225, 242, 255) 
End With