Anzeige
Archiv - Navigation
1200to1204
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie am schnellsten eindeutige Werte ermitteln?

Wie am schnellsten eindeutige Werte ermitteln?
Holger,
Hallo,
da ich es mit einer gewaltigen Menge an Daten zu tun habe, muss ich alles auf den Prüfstand stellen.
In der Spalte B will ich alle werte ermitteln, die vorkommen.
Am besten ohne durch alle Zeilen schleifen zu müssen. Gibt es hierfür eine Lösung?
Beispiel:
  • Others Herbst Herbst Others Sommer Sommer Sommer Sommer
  • soll liefern Others, Herbst,Sommer
    Geht dies?

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    AW: Mit einer Pivottabelle...
    10.02.2011 14:52:45
    JoWE
    Hallo Holge,
    ... oder mit dem Spezialfilter - Liste an anderer Stelle filtern - keine Duplikate
    Gruß
    Jochen
    AW: Mit einer Pivottabelle...
    10.02.2011 14:55:17
    Holger,
    Hallo Jochen,
    Pivot zu kompliziert, SpezialFilter wäre eine Möglichkeit, braucht aber auch
    einige Codezeilen um das aufzubauen.
    Gibt es nichts Besseres?
    Pivottabelle...zu kompliziert bei Excel gut?
    10.02.2011 15:02:44
    JoWE
    Pivottabelle...zu kompliziert bei Excel gut?
    10.02.2011 15:02:56
    JoWE
    AW: Pivottabelle...zu kompliziert bei Excel gut?
    10.02.2011 15:06:23
    Holger,
    Es geht nicht um den Anspruch, sondern darum, dass ich im code
    keine PivotTabelle aufbauen will, nur um eindeutige Werte zu finden.
    AW: Wie am schnellsten eindeutige Werte ermitteln?
    10.02.2011 14:56:34
    Rudi
    Hallo,
    ohne Schleife geht's imho nicht.
    Sub ttt()
    Dim oWert As Object, rngC As Range
    Set oWert = CreateObject("Scripting.dictionary")
    For Each rngC In Range(Cells(2, 2), Cells(Rows.Count, 2).End(xlUp))
    oWert(rngC.Value) = 0
    Next
    MsgBox Join(oWert.keys, vbLf)
    End Sub
    

    Gruß
    Rudi
    Anzeige
    Ok
    10.02.2011 15:07:14
    Holger,
    Hallo Rudi,
    ok, dann werde ich es auch mit einer Schleife lösen.
    Danke für deine Hilfe.
    Beschleunigung
    10.02.2011 15:54:00
    Rudi
    Hallo,
    erst die Spalte in ein Array. 5x schneller.
    Sub ttt1()
    Dim oWert As Object, i As Long, Tmp
    Set oWert = CreateObject("Scripting.dictionary")
    Tmp = Range(Cells(2, 2), Cells(Rows.Count, 2).End(xlUp))
    For i = 1 To UBound(Tmp)
    oWert(Tmp(i, 1)) = 0
    Next
    MsgBox Join(oWert.keys, vbLf)
    End Sub
    

    Gruß
    Rudi

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige