Einmal vorkommende Werte (Unikate, eindeutige Werte) in einem ausgewählten Bereich hervorheben (VBA)

Wenn Sie Unikate (eindeutige Werte), also Werte (Texte oder Zahlen), die in einem bestimmten Bereich nur einmal vorkommen, hervorheben wollen, dann können Sie hierfür die bedingte Formatierung in Excel oder auch ein Makro einsetzen. Mit dem folgenden Makro können Sie sich in einem markierten Bereich alle einfach vorkommenden Werte (Unikate, eindeutige Werte) mit einem roten Zellhintergrund hervorheben.

Sub Unikate_hervorheben()
Dim Bereich As Range
Dim Zelle As Range
Set Bereich = Selection
For Each Zelle In Bereich
If WorksheetFunction.CountIf(Bereich, Zelle.Value) = 1 Then
Zelle.Interior.ColorIndex = 3
End If
Next Zelle
End Sub

Das Makro untersucht alle Zellinhalte im markierten Bereich, ob diese nur einmal in den markierten Zellen vorkommen. Ist dies der Fall, dann werden die Zellen, welche eindeutige Werte (Unikate) beinhalten, mit einem roten Zellhintergrund versehen. Folgendes ist beim Einsatz des Makros zu beachten:

  • Hervorhebung ist statisch: Das Hervorheben mit einem roten Zellhintergrund ist statisch, d.h. ändern Sie die Werte im markierten Bereich, dann wird die farbliche Markierung nicht wie bei der bedingten Formatierung automatisch angepasst. Sie müssen in diesem Fall den roten Zellhintergrund wieder entfernen und dann das Makro erneut ausführen.
  • Nur zusammenhängende Bereiche: Weiterhin ist zu beachten, dass das Makro nur bei einem zusammenhängenden Bereich funktioniert. Markieren Sie nicht zusammenhängende Zellen, indem Sie beim Markieren die Strg-Taste gedrückt halten, dann kommt es bei dem Ausführen von dem Makro zu einer Fehlermeldung.
  • Einzelne Zelle: Haben Sie nur eine einzelne Zelle markiert, dann wird die Überprüfung nur auf die einzelne Zelle angewendet. In diesem Fall kann es nur ein Unikat geben, da nur eine einzelne Zelle auf Unikate (eindeutige Werte) untersucht wird.
  • Roter Farbhintergrund: In unserem Beispiel werden die eindeutigen Werte (Unikate) mit einem roten Zellhintergrund hervorgehoben. Dies wird im Makro durch die Eigenschaft ColorIndex = 3 erreicht. 3 steht hier als Farbcode für die Farbe Rot. Wollen Sie eine andere Farbe, an Stelle der Farbe rot verwenden, dann tauschen Sie den Farbcode 3 durch die Zahl Ihrer gewünschten Farbe einfach aus. Sie finden am Ende des Beitrags eine Farbpalette mit den entsprechenden Farbcodes.

Contents

Beispiel:

In der folgenden Abbildung sollen die Zellinhalte im Bereich A1:D7 auf Unikate untersucht werden. Zellen, welche Unikate beinhalten, sollen dann anschließend durch einem roten Zellhintergrund hervorgehoben werden.

Makro-Unikate-hervorheben-04
Abbildung: Eindeutige Werte sollen farblich hervorgehoben werden

Markieren Sie zunächst den Bereich, welcher auf Unikate untersucht werden soll. In unserem Beispiel ist dies der Bereich A1:D7.

Makro-Unikate-hervorheben-05
Abbildung: Bereich markieren, in welchem eindeutige Werte hervorgehoben werden sollen

Starten Sie jetzt das Makro Unikate_hervorheben. Hinweis: Sie müssen das Makro vorher in ein VBA-Modul einer Arbeitsmappe eingefügt haben. Durch Drücken der Tastenkombination Alt + F8 aktivieren Sie das Dialogfeld Makro. Hier bekommen Sie alle verfügbaren Makros aufgeführt. Wählen Sie hier das Makro Unikate_hervorheben aus, indem Sie mit der linken Maustaste auf das Makro in der Liste klicken. Klicken Sie anschließend am rechten Rand auf die Schaltfläche Ausführen um das Makro zu starten.

Makro-Unikate-hervorheben-02
Abbildung: Makro Unikate_hervorheben ausführen

Excel untersucht jetzt alle Zellen im markierten Bereich auf Unikate und versieht die Zellen, welche Unikate (eindeutige Werte) beinhalten mit einem roten Zellhintergund.

Makro-Unikate-hervorheben-03
Abbildung: Eindeutig vorkommende Werte wurden im markierten Bereich mit einem roten Zellhintergrund hervorgehoben

Andere Farbe für Zellhintergrund einsetzen:

Wollen Sie eine andere Farbe als die Farbe Rot für das Hervorheben von Unikaten verwenden, dann müssen Sie lediglich den Farbcode im Makro entsprechend anpassen. Wollen Sie einen grünen Zellhintergrund für die Zellen mit Unikaten verwenden, dann verwenden Sie einfach an Stelle des Farbcodes 3 den Farbcode 10.

Sub Unikate_hervorheben()
Dim Bereich As Range
Dim Zelle As Range
Set Bereich = Selection
For Each Zelle In Bereich
If WorksheetFunction.CountIf(Bereich, Zelle.Value) = 1 Then
Zelle.Interior.ColorIndex = 10
End If
Next Zelle
End Sub

Farbcodes
Abbildung: Farbcodes

Weiterführende Links bzw. interessante Artikel:

search previous next tag category expand menu location phone mail time cart zoom edit close