Supportnet / Forum / Tabellenkalkulation
Warum läuft Sortieren (VBA) nicht?
Frage
Hallo Zusammen!
Ich habe folgendes Problem:
Über ein makro schreibe ich Daten Sheet ein. Dies wird gemacht, da das Sheet als "Datenbank" dienen soll. Folglich kommen imemr wieder neue Daten hinzu, welche in die nächste Freie Zeile geschrieben werden.
Da allwes aber alphabetisch esortiert sein soll, möcht ich nach dem Schreiben (in die nächste freie Zelle) eine Sortierfunktion drüber laufen lassen. Aber irgendwie tut das nicht. Könntet Ihr mir sagen, was ich falsch mache???
[code]'neuen Datensatz erfassen und anlegen
Private Sub CmbErfassen_Click()
Dim dia As UserForm
Dim lng As Long
On Error Resume Next
Set dia = UserForm1
lng = Sheets("Daten_Maschinen").Range("A65536").End(xlUp).Offset(1, 0).Row
With dia
Sheets("Daten_Maschinen").Cells(lng, 1).Value = .TextBox1.Value
...etc...
Sheets("Daten_Maschinen").Cells(lng, 23).Value = .TextBox28.Value
End With
'Daten alpahabetisch sortieren
Sheets("Daten_Maschinen").Range(Cells(4, 1), Cells(lng, 23)).Select
Selection.Sort Key1:=Sheets("Daten_Maschinen").Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub[/code]
Wäre echt super,w enn mir jemand weiter helfen kann!
Grüßle, Cathérine
Antwort 1 von Hajo_Zi
Hallo Cathérine,
in VBA kann zu 99,9% auf select verzichtet werden.
With Sheets("Daten_Maschinen").Cells(4, 1)
.Sort Key1:=.Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
ich bin mal davon ausgegangen das Deine Tabelle keine Leerzeilen oder Spalten enthält.
Gruß hajo
in VBA kann zu 99,9% auf select verzichtet werden.
With Sheets("Daten_Maschinen").Cells(4, 1)
.Sort Key1:=.Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
ich bin mal davon ausgegangen das Deine Tabelle keine Leerzeilen oder Spalten enthält.
Gruß hajo
Antwort 2 von Catze
Hallo Hajo,
funktioniert perfekt! Danke schön!
Grüße, Cathérine
funktioniert perfekt! Danke schön!
Grüße, Cathérine

