Macht nix, wir alle haben mal angefangen. Und angefangen haben wir, also bringen wir es auch zu Ende.
Folgendes kommt in die Events der Checkboxen:
Private Sub CheckBox1_Click()
Call Manipuliere_sZeichenkette(Me.CheckBox1, "Termine")
End Sub
Private Sub CheckBox2_Click()
Call Manipuliere_sZeichenkette(Me.CheckBox2, "Optionen")
End Sub
...
Folgendes in ein allgemeines Modul:
Option Explicit
Public sZeichenkette As String
Sub Manipuliere_sZeichenkette(ByRef chkBox As MSForms.CheckBox, ByVal sTeilString As String)
sZeichenkette = IIf(chkBox.Value = True, sZeichenkette & (sTeilString & ";"), Replace(sZeichenkette, (sTeilString & ";"), vbNullString))
End Sub
Der nächste Schritt wäre "eigentlich" (via Klassenprogrmmierung) die Events abzufangen und den Code somit weiter zu verschlanken.
Bei einer handvoll Checkboxen ist das m.E. so aber noch ok und handlebar.
|