VBA – Zelle hervorheben
In this Article
In diesem Tutorial zeigen wir Ihnen, wie Sie eine Zelle oder einen Zellenbereich mit VBA hervorheben können.
Mit VBA können wir die Bedingte Formatierung von Excel verwenden, um Zellen hervorzuheben oder wir können andere Methoden mit ähnlicher Wirkung verwenden.
Eine Zelle hervorheben
Um eine Zelle in VBA zu hervorzuheben, können wir die unten gezeigte einfache Prozedur verwenden.
Sub ZelleHervorheben()
ActiveCell.Interior.Color = vbRed
End Sub
Hervorheben eines Zellenbereichs
Auf ähnliche Weise können wir einen Zellenbereich auswählen und alle Zellen in ihm hervorheben.
Sub BereichHervorheben()
Range("A1:A10").Select
Selection.Interior.Color = vbRed
End Sub
Zellen basierend auf dem Zellenwert hervorheben
Um eine Bedingung für die Hervorhebung einer Zelle hinzuzufügen, können wir eine IF-Anweisung verwenden, um die Zelle hervorzuheben, wenn der Zellenwert über einem bestimmten Wert liegt (in diesem Fall größer als 10).
Sub ZelleHervorheben_1()
If ActiveCell.Value > 10 Then
ActiveCell.Interior.Color = vbRed
End If
End Sub
Einen Zellenbereich basierend auf dem Zellwert hervorheben
Um die Werte in einem Zellenbereich zu überprüfen, müssen wir jede Zelle in einer Schleife durchlaufen, ihren Wert ermitteln und diese dann entsprechend hervorheben. Im folgenden Beispiel stellen wir zunächst sicher, dass der Wert in dem Bereich eine Zahl ist und prüfen dann, ob diese Zahl größer als 10 ist.
Sub ZellenbereichHervorheben()
Dim bereich As Range
For Each bereich In Range("A1:A10")
If IsNumeric(bereich.Value) Then
If bereich.Value > 10 Then
bereich.Interior.Color = vbRed
End If
End If
Next bereich
End Sub
Hervorheben einer Zelle mit bedingter Formatierung
Wir können VBA auch verwenden , um eine bedingte Formatierung auf eine Zelle anzuwenden, um sie hervorzuheben. Im folgenden Beispiel wird die bedingte Formatierung auf jede Zelle im Bereich angewendet. Wie im obigen Beispiel prüfen wir zunächst, ob die Zelle einen numerischen Wert enthält und wenden dann die bedingte Formatierung an.
Sub BedingteFormatierungFestlegen()
Dim bereich As Range
For Each bereich In Range("A1:A10")
If IsNumeric(bereich.Value) Then
bereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=10"
bereich.FormatConditions(1).Interior.Color = vbRed
bereich.FormatConditions(1).StopIfTrue = False
End If
Next bereich
End Sub
Hervorheben einer Zelle bei Änderung der Auswahl
Wir können die Hervorhebung einer Zelle dynamisch gestalten, wenn sich der Zellenzeiger im aktuellen Arbeitsblatt bewegt, indem wir das Ereignis Worksheet_Change verwenden. Im folgenden Beispiel werden alle Hervorhebungen im Blatt entfernt (mit Ausnahme derjenigen, die durch die bedingte Formatierung erfolgen) und die ActiveCell wird rot hervorgehoben (ColorIndex = 3).
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNone
Target.Interior.ColorIndex = 3
End Sub