Doppelte Einträge in Excel mit VBA zählen
Schritt-für-Schritt-Anleitung
Um doppelte Einträge in Excel mithilfe von VBA zu zählen, kannst du das folgende Makro verwenden. Dieses Skript durchläuft die Einträge in Spalte A und zählt, wie oft jeder Eintrag vorkommt. Das Ergebnis wird in Spalte B angezeigt.
- Öffne dein Excel-Dokument und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden VBA-Code in das Modul:
Sub t()
Dim iZeile As Long, LetzteZeile As Long
LetzteZeile = Range("A65536").End(xlUp).Row
For iZeile = 1 To LetzteZeile
If WorksheetFunction.CountIf(Range("A1:A" & iZeile), Cells(iZeile, 1)) = 1 Then _
Cells(iZeile, 2) = WorksheetFunction.CountIf(Columns(1), Cells(iZeile, 1))
Next iZeile
End Sub
- Schließe den VBA-Editor und kehre zu deinem Excel-Dokument zurück.
- Führe das Makro aus, indem du
ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Nun solltest du in Spalte B die Anzahl der Vorkommen jedes Wertes aus Spalte A sehen. Dieses Skript eignet sich besonders gut, wenn du mit einer großen Anzahl von Einträgen arbeitest und eine dynamische Lösung benötigst.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch die Funktion ZÄHLENWENN
in Excel nutzen, um die doppelten Einträge zu zählen. Setze in Spalte B die folgende Formel ein:
=ZÄHLENWENN(A:A; A1)
Ziehen die Formel nach unten, um sie auf den Rest der Spalte anzuwenden. Diese Methode ist jedoch statisch und eignet sich weniger für dynamische Datenmengen.
Praktische Beispiele
Angenommen, du hast folgende Daten in Spalte A:
10999
23000
23000
34544
25500
24000
24000
24000
Nach dem Ausführen des VBA-Makros erhältst du in Spalte B:
10999 1
23000 2
23000 2
34544 1
25500 1
24000 3
24000 3
24000 3
Diese Ausgabe zeigt dir, wie oft jeder Wert vorkommt, und ist besonders nützlich, wenn du mit großen Datensätzen arbeitest.
Tipps für Profis
- Um die Leistung zu verbessern, kannst du den Bildschirm während der Ausführung des Makros deaktivieren:
Application.ScreenUpdating = False
' Dein Code hier
Application.ScreenUpdating = True
- Überlege, ob du das Makro so anpassen möchtest, dass es nur die einzigartigen Werte in einer neuen Spalte oder einem neuen Arbeitsblatt anzeigt.
FAQ: Häufige Fragen
1. Kann ich das Makro anpassen, um die Ergebnisse in einem anderen Arbeitsblatt zu speichern?
Ja, du kannst den Code anpassen, indem du das Zielblatt im Code angibst. Ersetze Cells(iZeile, 2)
durch Sheets("Zielblatt").Cells(iZeile, 2)
.
2. Funktioniert dieses Makro in Excel 365?
Ja, das VBA-Skript funktioniert in Excel 365 und anderen Versionen, die VBA unterstützen. Stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind.