So führen Sie eine bedingte Formatierung mit VBA in Microsoft Excel durch

Anonim

Lassen Sie uns ein Monalisa-Gemälde malen und Picasso mit VBA zurücklassen. Fertig, fertig…

Warte ab! Warte ab! Halte deine Pferde. Wir werden nur VBA verwenden, um bedingte Formatierungen durchzuführen, und es ist einfacher als ein Gemälde, das ? geformter Vogel.

Die generische Syntax der bedingten Formatierung von VBA

Wenn Bedingung als Range(range).Interior.ColorIndex= 1-56

Geben Sie Ihre Bedingungsprüfung an der Bedingung ab und formatieren Sie dann Ihren Bereich mit der Eigenschaft .iteriour.colorindex des Range-Objekts. Der Farbindex umfasst 56 Farben. Spiel mit ihnen Holi und erkunde, welche Zahl welche Farbe hat.
Lass es uns jetzt an einem Beispiel verstehen

Beispiel: VBA-Code zum bedingten Formatieren von Zellen

Dies ist also das Szenario, wir haben eine Liste zufälliger Personen mit ihrem Alter und ihrer Altersgruppe.
Wie einfach ist es, wenn man die Altersgruppe einer Person nur anhand ihres Namens erkennen könnte.
Um dies zu tun, möchte ich den Namen im VBA-Format ROT, wenn er ein Erwachsener ist, GELB, wenn er ein Teenager ist, und GRÜN, wenn er ein KIND ist, und nichts, wenn die Zelle leer ist.

Sub FormatUsingVBA() Dim rng As Range Dim lastRow As Long lastRow = Cells(Rows.Count, 3).End(xlUp).Row Set rng = Range("C2:C" & lastRow)Für jede Zelle In rng If cell. Value2 = "Adult" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3 ElseIf cell.Value2 = "KID" Then Range(cell.Address).Offset(0, -2). Interior.ColorIndex = 4 ElseIf cell.Value2 = "Teenager" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6 Else Range(cell.Address).Offset(0, -2). Interior.ColorIndex = 0 End If Next cell End Sub

Um diesen Code direkt aus dem Arbeitsblatt heraus auszuführen, habe ich eine Schaltfläche auf demselben Arbeitsblatt gezeichnet und diesem dieses Makro zugewiesen. Wenn Sie jetzt auf die Schaltfläche "Formatieren" klicken, wird Ihr Code ausgeführt und die Namenszellen je nach Altersgruppe farblich aktualisiert. Wie? Lass es uns herausfinden.

Code-Erklärung:

Dim rng As RangeDim lastRow As LongDiese beiden Zeilen sind Variablendeklarationen. rng für Range, der die Altersgruppe und lastRow enthält, um die letzte nicht leere Zeilennummer zu erhalten. 
lastRow = Cells(Rows.Count, 3).End(xlUp).RowDiese Zeile gibt die letzte Zeilennummer in der lastRow-Variablen zurück.
Set rng = Range("C2:C" & lastRow)Diese Zeile legt den Bereich ab C2 bis zur letzten Zeile fest. Es macht Ihren Code dynamisch. Sie fügen Ihren Daten neue Zeilen hinzu und es wird erkannt und in einem neuen Bereich in der rng-Variablen gespeichert.
Für jede Zelle In rng If cell.Value2 = "Adult" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3 ElseIf cell.Value2 = "KID" Then Range(cell.Address). Offset(0, -2).Interior.ColorIndex = 4 ElseIf cell.Value2 = "Teenager" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6 Else Range(cell.Address). Offset(0, -2).Interior.ColorIndex = 0 End If Next cell 

Dies ist das Hauptsegment.

Für jede Zelle In rng 

Die erste Zeile führt die Schleife zu allen Zellen in Ihrem Bereich aus. Wenn cell.Value2 = "Erwachsener" Then
Die nächste Zeile ist eine Bedingungsprüfung. Es prüft, ob der aktuelle Zellenwert Erwachsen ist oder nicht.
Wenn ja, dann wird die nächste Zeile ausgeführt, sonst springt sie zur nächsten if statement.Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3
Wenn die IF-Bedingung nun TRUE zurückgibt, setzt diese Zeile die Zellenfarbe auf ColorIndex 3, dh für ROT.

Auf ähnliche Weise werden folgende IF-Anweisungen ausgeführt und wie angegeben ausgeführt.

Also ja, Sie können Bereiche mit VBA bedingt formatieren. Die Methode Interior des Range-Objekts steuert viele andere Eigenschaften für die Formatierung. Sie sollten mit ihnen spielen, es schadet nicht, aber Sie werden auf jeden Fall lernen. Und wenn Sie Schwierigkeiten haben, als das, wofür ich hier bin. Stellen Sie Ihre Fragen im Kommentarbereich.

Download-Datei

Bedingte Formatierung mit VBA in Microsoft Excel

Populäre Artikel:

50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität

So verwenden Sie die SVERWEIS-Funktion in Excel

So verwenden Sie die ZÄHLENWENN-Funktion in Excel

So verwenden Sie die SUMIF-Funktion in Excel