Code ein Excel-VBA-Sortieren mit custom order und einen Wert mit Komma
In VBA, Excel ermöglicht die Sortierung von Werten mithilfe der CustomOrder parameter wählen Sie die Sequenz-Elemente sind bestellt. Leider ist die Reihenfolge der Elemente durch Kommata getrennt, und eine meiner Sortieren Sie Elemente enthält Kommas. Zum Beispiel, ich möchte zum Sortieren der Daten in der ersten Spalte die Kategorien, in der zweiten Spalte. Die "Luft, Land oder Meer" - Kategorie enthält Kommas.
Data1 Luft-Und Raumfahrt Data2 Cyberspace Data3 Cyberspace Data4 Luft -, Land -, oder Seeweg Data5 Luft-Und Raumfahrt Data6 Luft -, Land -, oder Seeweg Data7 Cyberspace
Wenn Sie beim aufzeichnen eines Makros VBA, der code sieht wie folgt aus:
MyWorksheet.Sort.SortFields.Add Key:=Range( _
"B:B"), SortOn:=xlSortOnValues, Order:=xlAscending, _
CustomOrder:= "Cyberspace,Air,Land,or Sea,Aerospace", _
DataOption:=xlSortNormal
MyWorksheet.Sort.Apply
So, die benutzerdefinierte Sortierreihenfolge werden sollte, "Cyberspace" und dann "Luft, Land oder Meer", dann "Raumfahrt". Die zweite Kategorie behandelt wird, als drei Kategorien, weil die Kommas. Die Zeilen mit "Luft, Land oder Meer" sortiert auf den Boden, weil Excel nicht finden, eine eigene Art Spiel für Sie.
Gibt es einen Weg, um CustomOrder arbeiten mit einer Kategorie, die enthält eingebettete Kommas?
Ich versucht, indem Sie doppelte Anführungszeichen um die Kategorie, und ich versucht, anstelle der Trennzeichen Kommas mit Semikolon getrennt (in der Hoffnung, Excel würde annehmen, ein Semikolon statt Komma). Weder arbeitete.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es zu fehlen, die
Apply
. Hinzufügen Sie könnenBenutzerdefinierte Reihenfolge Sie haben, ist die Arbeit wie in meinem Beispiel.
BEARBEITEN Aktualisiert, basierend auf den OP aktualisiert, Frage
Bearbeiten Sie das makro, um die folgenden, mit einem array für die OrderCustom parameter.
ActiveSheet.Sort.Sortfields.Clear
Vor der Zeile:Application.DeleteCustomList Application.CustomListCount
Details hier: answers.microsoft.com linkOK...auf der Grundlage der aktualisierten Beschreibung, wie man über eine Formel für die Spalte neben dem, was du bist Sortierung.
So, wenn "Luft, Land oder Meer" ist in der Spalte B1, dann C1, hätte diese:
Dann könnten Sie tun, Ihre kundenspezifische Art etwa so:
Stellen Sie sicher, passen Sie die Auswahl entsprechend.