Doppelten Teilstring in Excel identifizieren und markieren
Schritt-für-Schritt-Anleitung
Um doppelte Teilstrings in Excel zu identifizieren und farbig zu markieren, kannst Du folgende Schritte befolgen:
-
Öffne Excel und stelle sicher, dass Deine Daten in Spalte A ab Zeile 2 beginnen.
-
Öffne den VBA-Editor:
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Option Explicit
Sub Dubletten()
Dim zz As Long, strT As String
For zz = 2 To Cells(Rows.Count, 1).End(xlUp).Row
strT = "=SUMPRODUCT((" & Left(Cells(zz, 1), 5) & _
"=LEFT(A$2:A$39,5))*(" & Right(Cells(zz, 1), 2) & _
"<>RIGHT(A$2:A$39,2))"
If Evaluate(strT) > 0 Then Cells(zz, 1).Interior.Color = 65535
Next zz
End Sub
-
Starte das Makro:
- Gehe zurück zu Excel, drücke
ALT + F8
, wähle Dubletten
aus und klicke auf Ausführen
.
Die Zellen mit doppelten Teilstrings, die die Bedingung erfüllen, werden nun gelb markiert.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du kein VBA verwenden möchtest, kannst Du auch die bedingte Formatierung nutzen:
-
Markiere die Daten in Spalte A.
-
Gehe zu Start > Bedingte Formatierung > Neue Regel.
-
Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.
-
Gib die folgende Formel ein:
=SUMMENPRODUKT((LINKS(A2;5)=LINKS($A$2:$A$39;5))*(RECHTS(A2;2)<>RECHTS($A$2:$A$39;2)))>0
-
Wähle das gewünschte Format (z.B. Hintergrundfarbe) und klicke auf OK.
Praktische Beispiele
Angenommen, Du hast die folgenden Strings in Spalte A:
42240-90
42240-91
42240-90
42241-90
Mit dem oben beschriebenen Makro oder der bedingten Formatierung werden die Zellen mit "42240-90" markiert, da dieses Format in mehrfacher Ausführung mit unterschiedlichen Endziffern vorhanden ist.
Tipps für Profis
-
Dynamische Bereiche: Um die Abfrage dynamisch zu gestalten, kannst Du in VBA den Bereich anpassen, sodass er automatisch die letzte Zeile berücksichtigt. Beispiel:
lngZ = Cells(Rows.Count, 1).End(xlUp).Row
-
Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben stabil läuft.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um mehr als 39 Zeilen zu überprüfen?
Du kannst die statische Zeilenangabe (A$2:A$39) durch eine dynamische Variable ersetzen, die die letzte Zeile ermittelt.
2. Funktioniert dies auch in Excel 365?
Ja, die beschriebenen Methoden funktionieren in Excel 365 sowie in älteren Versionen von Excel, die VBA unterstützen.