2017-01-25 2 views
0

Kann jemand folgendes realisieren?Zellen einfärben, die Daten in einem ausgewählten Bereich enthalten

Ich habe eine Reihe von Zellen in einer Excel-Tabelle ausgewählt. Nach dem Drücken einer Tastenkombination muss jede Zelle im ausgewählten Bereich, der Daten enthält, eine Füllfarbe rot haben.

Es scheint keine Standard-Excel-Funktionalität dafür zu geben, aber vielleicht kann es mit VBA gemacht werden?

Leider ist der folgende Code funktioniert nicht wie erwartet:

Sub ColorizeCells() 
    Dim Data As Range 
    Dim cell As Range 
    Set Data = Selection 

    For Each cell In Data 
     If Not cell.Value Is Nothing Then 
      cell.Interior.ColorIndex = 4 
     End If 
    Next 

End Sub 

Irgendwelche Vorschläge zu diesem Thema sind sehr willkommen.

+0

Was bedingte Formatierung? Die Formel könnte zum Beispiel "A2 <>" "? Was hast du probiert? – BruceWayne

+0

Es gibt Unmengen von Optionen auf [** internet **] (https://www.google.com/search?q=excel+vba+change+cell+color+in+range+if+cell+contains+ Wert & oq = Excel + VBA + Änderung + Zelle + Farbe + im + Bereich + wenn + Zelle + enthält + Wert & aqs = Chrom..69i57.23423j0j7 & sourceid = chrome & ie = UTF-8 # q = Excel + VBA + Änderung + Zelle + Farbe + in + Reichweite). Hast du es versucht? – ManishChristian

+0

@ManishChristian Die meisten von ihnen verwenden bedingte Formatierung, die ich versucht habe, aber versucht, aber nicht wirklich mochte. Die übrigen nehmen nicht an, dass nur die Zellen innerhalb eines vordefinierten betrachtet werden sollen. – Rickson

Antwort

0

Die Andeutung von Tim Williams tat den Trick. Vielen Dank!

Der folgende Code funktioniert:

Sub ColorizeCells() 
    Dim Data As Range 
    Dim cell As Range 
    Set Data = Selection 

    For Each cell In Data 
     If Len(cell.Value) > 0 Then 
      cell.Interior.ColorIndex = 4 
     End If 
    Next 
End Sub 
Verwandte Themen