Microsoft Excel

Herbers Excel/VBA-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

Beiträge aus dem Excel-Forum zum Thema "Sortieren mithilfe Excel Makro"