ich habe jetzt mehrer Tage noch der Lösung dieses Problems gesucht...
In einem Tabellenblatt habe ich eine Spalte die Namen aus einem anderen Tabellenblatt kopiert. Es kann vorkommen, dass bestimmte Zellen leer sind. Ich möchte diese Spalte alphabetisch sortiern, wobei die leeren Zellen nicht am Anfang stehen sollen.
Gefunden habe ich folgende Lösung:
Sub Sortalpha()
Dim zelle As Range
Rows("2:101").Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, dataoption1:=xltextasnumbers
Set zelle = Columns("A:A").Find(What:="", After:=[a1], LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not zelle Is Nothing Then
Rows("2:" & zelle.Row - 1).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, dataoption1:=xltextasnumbers
End If
End Sub
wobei ich den ersten Teil etwas abgewandelt habe:
Range("A2:A101").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xltextasnumbers
Ich möchte nicht die gesamten Zeilen sondern nur die Zellen der ersten Spalte sorteren, da mir sonst die übrigen Formeln des Tabellenblattes durcheiandergewürfelt werden. Hat jemand eine Lösung?
Karlsson