AW: Code ändern um select zu vermeiden
24.10.2015 20:25:44
Daniel
Hi
ich zeigs dir mal ohne das erste WITH (Tabellenblatt).
der Punkt wird zu schnell übersehen und es gibt beim Sortieren mehrere Stellen, die da kritisch sind:
wksKalender.Sort.SortFields.Add Key:=wksKalender.Range("ABN14:ABN97"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With wksKalender.Sort
.SetRange wksKalender.Range("A14:ABN97")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
abweichend von der Recorderaufzeichnung kann man den Code auch so strukturieren, dann wirds etwas übersichtlicher:
With ksKalender.Sort
.SortFields.Add Key:=wksKalender.Range("ABN14:ABN97"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.SetRange wksKalender.Range("A14:ABN97")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
etwas blöde ist hier, das man das WITH gerne für das Tabellenblatt, aber auch für das Sortierobjekt verwenden möchte, aber das geht ja nicht, weil es immer nur ein WITH gleichzeitig gibt.
Ich bevorzuge hier immer noch die Schreibweise von Excel 2003:
With wksKalender.Range("A14:ABN97")
.Sort Key1:=.Cells(1, "ABN"), order1:=xlascending, header:=xlguess
End With
gruss Daniel