Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code zu Sortieren "Button" B3-D3 funktioniert nicht

Forumthread: Code zu Sortieren "Button" B3-D3 funktioniert nicht

Code zu Sortieren "Button" B3-D3 funktioniert nicht
25.07.2024 22:44:10
Joachim Guhl
Hallo zusammen,

in der Datei befindet sich eine UserForm frmsortieren, Der Button "sortieren" dazu "hängt" jedoch und ich komme überhaupt nicht weiter. Habe schon zahlreiche, erfolglose Versuche hinter mir, eine Lösung zu finden.

Sicher kann mir mir jemand den Fehler herausprogrammieren und die Datei für mich wieder hochladen.
Ich muss jetzt leider ins Bett und überlasse den "Nachteulen" das Feld.

https://www.herber.de/bbs/user/171259.xlsm

DANKE
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code zu Sortieren "Button" B3-D3 funktioniert nicht
26.07.2024 00:21:02
ralf_b
Private Sub CommandButton1_Click()


Call tablesort(2, 8)
Me.Hide
Unload Me
End Sub

Private Sub CommandButton2_Click()

Call tablesort(2, 1, 4)

Me.Hide
Unload Me
End Sub

Private Sub CommandButton3_Click()

Call tablesort(1, 4)

Me.Hide
Unload Me
End Sub


Function tablesort(key1&, key2&, Optional key3& = 0)

With Worksheets("2024-2025")
With .ListObjects(1)
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=.ListColumns(key1).Range, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add2 Key:=.ListColumns(key2).Range, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

If key3 > 0 Then
.Sort.SortFields.Add2 Key:=.ListColumns(key3).Range, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End If

.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
.Range("A1").Select
End With
Application.ScreenUpdating = True


End Function
Anzeige
AW: Code zu Sortieren "Button" B3-D3 funktioniert fast....
26.07.2024 08:51:30
Joachim Guhl
Hallo Ralf, vielen Dank erstmal, so bin ich auf jeden Fall schon mal einen großen Schritt weiter.

Der CommandButton1 arbeitet in meinen gewünschten Sinn. DANKE !!!

Der CommandButton2 arbeitet noch nicht ganz in meinem Sinne, grundsätzlich aber eine deutliche
Verbesserung, schließlich lief mein Code überhaupt nicht. Wahrscheinlich fehlte es meinerseits an einer kleinen Ergänzung/Info, dass nach der Mannschaft (Spalte C) das nächste Sortierkreterium die "Spalte B" ist. T, B, S und X und in dieser Reihenfolge sortiert werden soll. Sprich Trainer, Betreuer stehen in dieser Sortierung in jeder Mannschaft immer ganz oben.

Der CommandButton3 soll alle Trainer (T), Betreuer (B), nach oben sortieren und dann Spieler (S), Pausierende (x) nach Nachname (auf- oder absteigend ist egal).

Vielleicht magst du (oder jemand anderes) da nochmal rangehen, für mich ist es dann doch zu komplex, obwohl es irgendwie "nur sortieren" ist.

Danke Joachim



Anzeige
AW: Code zu Sortieren "Button" B3-D3 funktioniert fast....
26.07.2024 15:20:44
Yal
Hallo Joachim,

im Prinzip willst Du ein unbestimmte Zahl von Felder sortieren können.

Public Sub test()

tablesort 1, 2, 3, 4, 5, 6, 7, 8
End Sub

Private Sub CommandButton1_Click()
tablesort 2, 8
Unload Me
End Sub

Private Sub CommandButton2_Click()
tablesort 2, 1, 4
Unload Me
End Sub

Private Sub CommandButton3_Click()
tablesort 1, 4
Unload Me
End Sub


Private Sub tablesort(ParamArray Schlüsseln())
Dim K

With Worksheets("2024-2025").ListObjects(1).Sort
.SortFields.Clear
For Each K In Schlüsseln
.SortFields.Add2 Key:=.ListColumns(K).Range 'andere Parameter sind eh Default-Value
Next
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Worksheets("2024-2025").Range("A1").Select
Application.ScreenUpdating = True
End Sub


VG
Yal
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige