2017-01-05 6 views
0

Ich habe eine Reihe von Werten in einer Spalte, 1 NA 0 1 0 NA und 0. Ich führe ein erfolgreiches Skript auf der Spalte, um den oberen Wert in dunkelgrün zu markieren, und die oberen 50% der Werte (ohne den oberen Wert) in hellgrün.Excel VBA bedingte Formatierung - Formatierung für 0-Wert entfernen

Range("K4:K10").Select 
Selection.FormatConditions.AddTop10 
With Selection.FormatConditions(1) 
    .TopBottom = xlTop10Top 
    .Rank = 50 
    .Percent = True 
End With 
With Selection.FormatConditions(1).Interior 
    .Color = 13434777 
End With 
Selection.FormatConditions.AddTop10 

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1) 
    .TopBottom = xlTop10Top 
    .Rank = 1 
End With 
With Selection.FormatConditions(1).Interior 
    .Color = 3394611 
End With 

das funktioniert, aber was soll ich jetzt tun (und dies wird für alle Spalten hinzugefügt werden, von denen die meisten viel höheren Zahlen haben) ist entfernen mit dem Wert 0 aus jeder Zelle hervorgehoben habe ich versucht, die unter code:

Aber es entfernt die Hervorhebung aus jeder Zelle in der Spalte unabhängig von Wert. Irgendwelche Ideen?

Antwort

1

Ändern Sie die Auswahl in wsrng.

Dim wsrng As Range 
    For Each wsrng In Range("K4:K10") 
     If wsrng.Value = 0 Then 
      wsrng.FormatConditions.Delete 
     End If 
    Next wsrng 
+0

Und sollte mein erster Code in diesem enthalten sein? Oder sollte das dem Code folgen? – sbagnato

+0

Nevermind, das hat funktioniert! – sbagnato

+0

Großartig, können Sie die Antwort akzeptieren? – Vinnie

Verwandte Themen