Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1268to1272
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

unsortierte Liste mit Mehrfacheinträgen abarbeiten

unsortierte Liste mit Mehrfacheinträgen abarbeiten
Peter
Guten Tag.
Ich meiner Tabelle sind in Spalte D folgende Einträge enthalten:
Zeile 6: 109001
Zeile 7: 107011
Zeile 8: 109001
Zeile 9: 109001
Zeile 10: 106313
Zeile 11: 106313
Zeile 12: 111111
Zeile 13: 333111
Zeile 14: 106313
Zeile 15: 222222
Ich möchte nun jeden Eintrag (mehrfach vorkommende nur einmal) weiterbearbeiten, angefangen beim kleinsten bis zum grössten.
Angenommen, ich weise diesen Spaltenbereich dem Range rngSpalte zu. Wie bringe ich die einzelnen Einträge der gewünschten Reihenfolge nach in eine Schleife?
Vielen Dank und Gruss, Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: unsortierte Liste mit Mehrfacheinträgen abarbeiten
19.07.2012 15:21:02
ChrisL
Hi Peter
Ich würde dir Menü Daten, Filter, Spezialfilter, Option: Keine Duplikate empfehlen. Ist schneller als eine Schleife und Sortieren kannst auch anschliessend.
Gruss
Chris
mit Dictionary
19.07.2012 15:22:42
Erich
Hi Peter,
eine vermutlich recht flotte Möglichkeit:

Sub ListeOhneDup()
Dim lngQ As Long, arQ, oDic As Object, zz As Long, arZ
lngQ = Cells(Rows.Count, 4).End(xlUp).Row - 5
arQ = Cells(6, 4).Resize(lngQ).Value
Set oDic = CreateObject("Scripting.Dictionary")
For zz = 1 To lngQ
oDic(arQ(zz, 1)) = 0
Next
arZ = oDic.keys
'     jetzt steht die Liste in arZ(0) bis arZ(oDic.Count - 1)
For zz = 0 To oDic.Count - 1
MsgBox zz & " / " & arZ(zz)
Next zz
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
mit Dictionary und sortiert
19.07.2012 15:57:24
Erich
Hi Peter,
den Sort hatte ich überlesen...

Sub ListeSortOhneDup()
Dim lngQ As Long, arQ, oDic As Object, zz As Long, arZ
lngQ = Cells(Rows.Count, 4).End(xlUp).Row - 5
arQ = Cells(6, 4).Resize(lngQ).Value
Set oDic = CreateObject("Scripting.Dictionary")
For zz = 1 To lngQ
oDic(arQ(zz, 1)) = 0
Next
arZ = QuickSort(oDic.keys)
'        jetzt steht die Liste in arZ(0) bis arZ(oDic.Count - 1)
For zz = 0 To oDic.Count - 1
MsgBox zz & " / " & arZ(zz)
Next zz
End Sub
Public Function QuickSort(vSort As Variant, _
Optional ByVal lngStart As Variant, _
Optional ByVal lngEnd As Variant)
Dim i As Long
Dim J As Long
Dim h As Variant
Dim X As Variant
If IsMissing(lngStart) Then lngStart = LBound(vSort)
If IsMissing(lngEnd) Then lngEnd = UBound(vSort)
i = lngStart: J = lngEnd
X = vSort((lngStart + lngEnd) / 2)
Do
While (vSort(i)  X): J = J - 1: Wend
If (i  J)
If (lngStart 
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: mit Dictionary und sortiert
19.07.2012 16:21:39
Peter
Hallo Erich
Das funktioniert einwandfrei! Vielen Dank.
Anschlussfrage. Kann ich in das oDic auch den Inhalt eines Bereiches einlesen, den ich einer Range-Variable übergeben habe, selbst wenn es sich um einen nicht vollständig zusammenhängenden Bereich handelt?
z.B. rngMehrfachEintraege bezieht sich auf D6:D9,D10:12,D13,D15
Gruss, Peter
Liste aus Mehrfachselektion
19.07.2012 18:19:14
Erich
Hi Peter,
da muss man dann wohl noch ein Schleifchen über die Teil-Areas einbauen.
Ich habe daraus mal eine Fkt. gebaut:

Option Explicit
Sub Test_OhneDupSort()
Dim rngX As Range, arE, zz As Long
Set rngX = Range("D6:D9,E10:E12,D13,D15,F4:F8")
arE = OhneDupSort(rngX)
For zz = 0 To UBound(arE)
MsgBox zz & " / " & arE(zz)
Next zz
End Sub
Function OhneDupSort(rngBereich As Range)
Dim oDic As Object, rngA As Range, arQ, zz As Long
Set oDic = CreateObject("Scripting.Dictionary")
For Each rngA In rngBereich.Areas
If rngA.Count = 1 Then
oDic(rngA.Value) = 0
Else
arQ = rngA.Value
For zz = 1 To UBound(arQ)
oDic(arQ(zz, 1)) = 0
Next zz
End If
Next rngA
OhneDupSort = QuickSort(oDic.keys)
End Function
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: Liste aus Mehrfachselektion
19.07.2012 23:10:50
Peter
Hallo Erich
Dist ja fantastisch.
Vielen Dank.
Gruss, Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige