AW: Benutzerdefiniertes Sortieren
01.05.2020 21:10:48
fcs
Hallo Heinz,
du benötigst eine weitere Hilfsspalte, die die Nullen kennzeichnet mit Wert = 0 wenn 1. Ziffer keine 0 und =1 wenn 1. Ziffer gleich Null ist.
Hier dein Makro angepasst.
LG
Franz
Sub sort_Neu()
Dim rng As Range
Dim wks As Worksheet
Dim arrTemp
Set wks = ActiveWorkbook.Worksheets("x")
With wks
Sheets("x").Select
Application.ScreenUpdating = False
'3 Hilfs-Spalten einfügen
.Range("B:D").Insert
.Range("B:C").NumberFormat = "0"
.Range("D:D").NumberFormat = "@"
For Each rng In .Range("A1").CurrentRegion.Cells
With rng
.Offset(0, 1) = Val(.Value)
.Offset(0, 2) = IIf(Left(.Text, 1) = 0, 1, 0)
.Offset(0, 3) = Right(.Value, Len(.Value) - _
Len(.Offset(0, 1).Value) - .Offset(0, 2))
End With
Next rng
.Range("A1").CurrentRegion.EntireRow.Sort _
Key1:=.Range("B1"), Order1:=xlAscending, _
Key2:=.Range("D1"), Order2:=xlAscending, _
Key3:=.Range("C1"), Order3:=xlAscending, _
Header:=xlGuess, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom 'Header ggf. auf xlYes bzw.xlNo setzen wenn _
Titelzeile vorhanden bzw. nicht. Excel nicht raten lassen
'Hilfsspalten wieder löschen
.Columns("B:D").Delete
Application.ScreenUpdating = True
End With
End Sub