EXCEL - VBA: Anzahl eindeutiger Werte ermitteln
Inhaltsverzeichnis
Problemdefinition
Ein Benutzer hat etwa 9000 Adressen in Spalte A, von denen einige mehrmals vorkommen. Der Benutzer möchte die Anzahl der einzigartigen Adressen ermitteln, ohne die Duplikate zu entfernen.
Lösung des Problems mit VBA
Eine Möglichkeit, die Anzahl der einzigartigen Einträge in einer Spalte zu ermitteln, ohne die Duplikate zu entfernen, ist die Verwendung von Visual Basic for Applications (VBA). Du kannst ein Makro schreiben, das durch die Liste geht und jeden Eintrag zählt, der noch nicht gezählt wurde.
Anwendungsbeispiel aus der Praxis
Hier ist ein Beispiel für ein VBA-Makro, das die Anzahl der einzigartigen Adressen in Spalte A ermittelt:
Sub CountUniqueAddresses()
Dim dict As Object
Dim cell As Range
Dim uniqueCount As Integer
' Erstelle ein Dictionary-Objekt
Set dict = CreateObject("Scripting.Dictionary")
' Gehe durch jede Zelle in Spalte A
For Each cell In Range("A1:A9000")
If Not IsEmpty(cell.Value) Then
' Füge den Wert der Zelle zum Dictionary hinzu
dict(cell.Value) = 1
End If
Next cell
' Die Anzahl der einzigartigen Adressen ist die Anzahl der Schlüssel im Dictionary
uniqueCount = dict.Count
' Zeige die Anzahl der einzigartigen Adressen an
MsgBox uniqueCount & " einzigartige Adressen gefunden."
' Lösche das Dictionary-Objekt
Set dict = Nothing
End Sub
Um das Makro auszuführen, öffne den VBA-Editor, indem du Alt
+ F11
drückst, füge den obigen Code in ein Modul ein und drücke F5
, um das Makro auszuführen.
Tipps
- Stelle sicher, dass du eine Kopie deiner Daten erstellst, bevor du das Makro ausführst, da VBA-Code nicht rückgängig gemacht werden kann.
- Wenn du eine sehr große Anzahl von Adressen hast, kann das Ausführen des Makros einige Zeit in Anspruch nehmen.
Zusammenfassung
Ein VBA-Makro kann verwendet werden, um die Anzahl der einzigartigen Adressen in einem Bereich zu ermitteln, ohne die Duplikate zu entfernen. Das obige Makro verwendet ein Dictionary-Objekt, um jeden einzigartigen Eintrag in Spalte A zu zählen. Bevor du das Makro ausführst, solltest du eine Kopie deiner Daten erstellen, da VBA-Code nicht rückgängig gemacht werden kann.