Herbers Excel-Forum - das Archiv

Sortieren mithilfe Excel Makro


Betrifft: Sortieren mithilfe Excel Makro
von: Julian

Geschrieben am: 09.09.2019 14:04:02
Hallo Zusammen,
Ich habe folgendes Problem. Derzeit wird bei mir so sortiert.
-QM6MM02
-QM6MM01
-QM6MM01
-QM6MM01
-QM6MM01
-QM5MM1
-QM4MM1
-QM4MM1
-QM4MM1
-QM4MM1
-QM3MM1
-QM3MM1
-QM2MM02
-QM2MM02
-QM2MM01
-QM2MM01
-QM1MM1
-QM1MM1
-GS3RN3
-GS3RN3
-GS3RN2
-GS1RN1
-BZ4.2
-BZ4.1
-BZ3.2
-BZ3.1
-BZ2.2
-BZ2.1
Meine Sortierung sollte aber eigentlich wie folgt aussehen:
erst die -QM von 1-100
Danach die -BZ und danach die GS.
Wie bekomme ich das mithilfe eines Codes hin?
Leider bin ich Ratlos
Gruß
Julian

Betrifft: AW: Sortieren mithilfe Excel Makro
von: 1712007.html
Geschrieben am: 09.09.2019 14:10:12
HI
da musst du am Tabellenende eine Hilfsspalte einfügen mit folgender Formel:
=Finden(Links(A1;3);"-QM-BZ-GS")
dann sortierst du mit dieser Hilfsspalte als erster Ebene und mit der eigentlichen Spalte als zweiter Ebene.
Gruß Daniel

Betrifft: AW: Sortieren mithilfe Excel Makro
von: 1712142.html
Geschrieben am: 10.09.2019 06:45:47
Hallo Daniel,
danke für deine Antwort.
Geht das denn eventuell auch mithilfe einer Funktion? Die Daten werden nämlich im Anschluss nochmal weiter verarbeitet in meinem Makro.
Gruß
Julian

Betrifft: AW: Sortieren mithilfe Excel Makro
von: 1712167.html

Geschrieben am: 10.09.2019 08:56:09
Hallo Zusammen,
Danke für deine Info Daniel.
Derzeit sieht mein Code so aus.
Dim lngCLC As Long
Dim lngListExist As Long
Dim lngOC As Long
Dim vListArr As Variant
'erste Sortierung
vListArr = Array("-QM", "-BZ", "-GS")
lngListExist = Application.GetCustomListNum(vListArr)
If lngListExist > 0 Then
lngOC = lngListExist + 1
Else
Application.AddCustomList listArray:=vListArr
lngCLC = Application.CustomListCount
lngOC = lngCLC + 1
End If
Range("A1").Sort Key1:=Range("B300"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=lngOC, _
MatchCase:=False, Orientation:=xlTopToBottom
If lngListExist = 0 Then Application.DeleteCustomList ListNum:=lngCLC
'zweiter Sortierer'
Jetzt muss ich nur noch nach der Spalte B Filtern. Das diese von Kleinster zu grö0ßten Zahl sortiert.
Ich bräuchte also eine Funktion die das gewährleistet da die Daten im Anschluss weiter verarbeitet werden müssen.
Gruß
Julian

Betrifft: AW: Sortieren mithilfe Excel Makro
von: 1712173.html
Geschrieben am: 10.09.2019 09:10:07
Hallo Zusammen,
Danke für deine Info Daniel.
Derzeit sieht mein Code so aus.

Dim lngCLC As Long
Dim lngListExist As Long
Dim lngOC As Long
Dim vListArr As Variant
'erste Sortierung
vListArr = Array("-QM", "-BZ", "-GS")
lngListExist = Application.GetCustomListNum(vListArr)
If lngListExist > 0 Then
lngOC = lngListExist + 1
Else
Application.AddCustomList listArray:=vListArr
lngCLC = Application.CustomListCount
lngOC = lngCLC + 1
End If
Range("A1").Sort Key1:=Range("B300"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=lngOC, _
MatchCase:=False, Orientation:=xlTopToBottom
If lngListExist = 0 Then Application.DeleteCustomList ListNum:=lngCLC
'zweiter Sortierer'
Jetzt muss ich nur noch nach der Spalte B Filtern. Das diese von Kleinster zu grö0ßten Zahl sortiert.
Ich bräuchte also eine Funktion die das gewährleistet da die Daten im Anschluss weiter verarbeitet werden müssen.
Gruß
Julian
Excel-Beispiele zum Thema "Sortieren mithilfe Excel Makro"
Felder über VBA sortieren Zellinhalte zeilenweise sortieren
Nach dem Zufallsprinzip umsortieren Menüpunkte sortieren
Tabellen hinzufügen und sortieren Alphanumerisch sortieren
Werte in mehreren Spalten sortieren IP-Nummern nach Gruppen sortieren
Zeilenweise sortieren Auf- und absteigend sortieren ohne Sortierfunktion
Bewerten Sie hier bitte das Excel-Portal