habe ein kleines Problem: ein markierter Bereich soll nach Spalte A sortiert werden.
Ich habe meinen Originalcode (aufgezeichneter Code):
Range("A3:AM233").Select
ActiveWorkbook.Worksheets("SMD-Liste").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("SMD-Liste").Sort.SortFields.Add Key:=Range( _
"A3:A233"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("SMD-Liste").Sort
.SetRange Range("A3:AL233")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
etwas umgestellt. Und zwar soll der Bereich der markiert wird flexibel sein. Also lasse ich die letzte Zeile sowie Spalte ermitteln. Nun bringt er mir aber beim .Apply Befehl einen Fehler.
Neuer Code:
lngLetzteSpalte = Cells(1, Columns.Count).End(xlToLeft).Column
strBuchstabe = Replace(Cells(1, lngLetzteSpalte).Address(0, 0, 1, 0), 1, "")
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
Range("A3:" & strBuchstabe & letzteZeile).Select
ActiveWorkbook.Worksheets("SMD-Liste").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("SMD-Liste").Sort.SortFields.Add Key:=Range("A3:" & strBuchstabe & letzteZeile), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("SMD-Liste").Sort
.SetRange Range("A3:" & strBuchstabe & letzteZeile)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Ich erhalte folgenden Fehler:
Laufzeitfehler 1004:
Der Sortierbezug ist ungültig. Überprüfen Sie, ob sich der Sortierbezug innerhalb der
markierten Daten befindet und ob das Feld 'Sortieren nach' nicht den gleichen Bezug enthält oder leer ist.
Danke im voraus
Jürgen