Supportnet Computer
Planet of Tech

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

Antwort 2 von Catze

Hallo Hajo,

funktioniert perfekt! Danke schön!

Grüße, Cathérine

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: