Hallo zusammen,
ich bräuchte mal wieder eure Hilfe.
Ausgangsituation:
Eine Tabelle mit mehreren Spalten. Die jeweiligen Spaltenüberschriften stehen in der Zeile 6.
Der Datenbereich beginnt in der Zelle A7. Sowohl Zeilenanzahl als auch Spaltenanzahl sind variabel.
Die Spalten B und C sind zwei Leerspalten
Einige der Spalten besitzen in der Zeile 4 einen OptionButton. Wird nun ein OptionButton aktiviert soll die gesamte Tabelle, also auch Spalte A, nach der Spalte in welcher der OptionButton aktiviert wurde absteigend sortiert werden.
Da sich in der Tabelle die Anzahl der Checkboxen häufig ändern kann, ist es m.E. wenig sinnvoll für jede Checkbox einen extra Code zu schreiben.
Hier im Forum wurde mir bereits ein Klassenmodul zur Verfügung gestellt.
Ich bekomme es nun einfach nicht hin Klassenmodul und den Modulteil miteinander zu Verknüpfen.
Klassenmodul:
Public WithEvents ctlCB As MSForms.OptionButton
Private Sub ctlCB_Change()
Dim IntS As Integer
IntS = ctlCB.TopLeftCell.Column 'Ermittlung der Spalte des aktiven OptionButton
On Error Resume Next 'Keine Fehlermeldung anzeigen !
If ctlCB.Value = True Then
Application.ScreenUpdating = False
SortBereich IntS
ctlCB.Parent.Activate
Application.ScreenUpdating = True
End If
End Sub
Modulteil (zum eigentlichen Sortieren):
Sub SortBereich(IntS)
With Range("A7", Cells(Rows.Count, 1).End(xlUp))
.EntireRow.Sort Key1:=Range(.Cells(7, IntS)), Order1:=xlDescending, Header:=xlNo
End With
End Sub Was muss ich hier ändern, damit es läuft?
Vielen Dank für eure Hilfe!
Gruß
Jonathan