Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anzahl unterschiedliche Werte in Spalte per VBA

Anzahl unterschiedliche Werte in Spalte per VBA
19.04.2005 07:59:37
Marshuhn
Guten Morgen,
ich möchte aus einer Spalte auslesen, wieviele unterschiedliche Werte (Anzahl)es gibt. Wie ich dieses mit der Formelsprache bewerkstelligen kann, ist mir klar, aber wie kann ich dieses per VBA realisieren?
Danke für die Antworten
Marshuhn
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl unterschiedliche Werte in Spalte per VBA
19.04.2005 08:40:42
Mac4
Hallo Marshuhn,
so in der Art gehts:
MsgBox Evaluate("=Sum(If(A1:A100"""",1/CountIf(A1:A100,A1:A100)))")
Marc
AW: Anzahl unterschiedliche Werte in Spalte per VBA
19.04.2005 11:24:27
Marshuhn
Hallo Marc,
ja, das war einleuchtend und half mir prima weiter. Vielen Dank
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Anzahl unterschiedlicher Werte in einer Spalte mit VBA ermitteln


Schritt-für-Schritt-Anleitung

Um die Anzahl unterschiedlicher Werte in einer Spalte per VBA zu zählen, kannst Du folgenden Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Function AnzahlUnterschiedlicherWerte(rng As Range) As Long
       Dim cell As Range
       Dim uniqueValues As Collection
       Set uniqueValues = New Collection
    
       On Error Resume Next
       For Each cell In rng
           If cell.Value <> "" Then
               uniqueValues.Add cell.Value, CStr(cell.Value)
           End If
       Next cell
       On Error GoTo 0
    
       AnzahlUnterschiedlicherWerte = uniqueValues.Count
    End Function
  4. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Arbeitsblatt.

  5. Um die Funktion zu verwenden, gebe in einer Zelle ein:

    =AnzahlUnterschiedlicherWerte(A1:A100)

    Dabei ersetzt Du A1:A100 durch den Bereich, in dem Du die anzahl unterschiedlicher Werte in Spalte zählen möchtest.


Häufige Fehler und Lösungen

  • Fehler: „Typen unverträglich“

    • Dieser Fehler tritt auf, wenn Du versuchst, die Funktion auf einen Bereich anzuwenden, der nicht aus Zellen besteht. Stelle sicher, dass der angegebene Bereich nur Zellen mit Werten enthält.
  • Fehler: „Argument ist ungültig“

    • Überprüfe, ob der Bereich, den Du in die Funktion eingibst, korrekt ist. Der Bereich sollte keine leeren Zellen enthalten, da dies zu Problemen führen kann.

Alternative Methoden

Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch eine Formel verwenden:

=SUMPRODUCT(1/COUNTIF(A1:A100, A1:A100 & ""))

Diese Formel gibt Dir ebenfalls die anzahl unterschiedlicher Werte in einer Spalte zurück. Beachte, dass diese Methode langsamer sein kann, insbesondere bei großen Datenmengen.


Praktische Beispiele

  • Angenommen, Du hast in der Spalte A folgende Werte: 1, 2, 2, 3, 3, 4.
  • Wenn Du die Funktion =AnzahlUnterschiedlicherWerte(A1:A6) verwendest, wird das Ergebnis 4 zurückgegeben, da es vier unterschiedliche Werte gibt.

Tipps für Profis

  • Du kannst die Funktion so erweitern, dass sie auch nach bestimmten Kriterien filtert, indem Du Parameter hinzufügst.
  • Wenn Du große Datenmengen analysierst, kann die Verwendung von VBA die Leistung gegenüber Formeln erheblich verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Funktion für mehrere Spalten anwenden?
Du kannst die Funktion entweder mehrmals für verschiedene Bereiche aufrufen oder die Funktion so anpassen, dass sie mehrere Bereiche akzeptiert.

2. Funktioniert diese Methode in allen Excel-Versionen?
Ja, die VBA-Methode funktioniert in den meisten Excel-Versionen, die VBA unterstützen, einschließlich Excel 2010 und neuer. Stelle sicher, dass Makros aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige