Hoe kan ik het aantal sub verwijzingen beperken?

Status
Niet open voor verdere reacties.

norway

Gebruiker
Lid geworden
11 mei 2007
Berichten
7
In een userform worden in een frame met de naam “medewerkers” maximaal 24 checkboxen met de namen van medewerkers weergegeven.
Bij het aan/afvinken van één van de checkboxen stelt een module een tekstvariabele samen gevormd uit al de aangevinkte medewerkers (bv Jan Jansen – Piet Peeters – Tom Boonen)
en geeft deze weer in een andere frame genaamd “overzicht” (de variabele zelf wordt opgeslagen in het bestand)
Ik heb hiervoor code hieronder aangemaakt, deze werkt perfect maar zou deze willen inkorten.
Met andere woorden: al die “Private Sub Anima1 tot en met 24_Click() herleiden tot 1 sub.
Volgens mij moet dit gaan, maar hoe ga ik tewerk????
Kan iemand mij op weg helpen?????

Alvast bedankt

Bert

Private Sub Anima1_Click()
Samenstellen
End Sub
----------------------------------------
Private Sub Anima2_Click()
Samenstellen
End Sub

…….

----------------------------------------
Private Sub Anima23_Click()
Samenstellen
End Sub
----------------------------------------
Private Sub Anima24_Click()
Samenstellen
End Sub

--------------------------------------------------------------------------------------------
Sub Samenstellen()
Deelnemers = ""

With Agendascherm
For AA = 1 To 24 ‘overloop deelnemers=true en stel deelnemers samen
If .Controls("Deelnemer" & AA) And Len(.Controls("Deelnemer" & AA).Caption) > 1 Then Deelnemers = Deelnemers & .Controls("Deelnemer" & AA).Caption & " - "
Next

.Label4 = "" ‘Labelwaarde in overzicht op nul
If Len(Deelnemers) > 0 Then .Label4.Caption = Left(Deelnemers, Len(Deelnemers) - 3) ‘drie laatste karakters verwijderen (" - ")
End With

End Sub
 
Zoiets kan met klassemodules (class modules), maar is niet van de poes... ;)
 
Zo te zien ben je erg dubbel bezig.
Als je al die onclick event van al die checkboxen verwijderd en je voegt een knop toe en die noem je "Samenstellen". Als je op de knop drukt dan wordt de routine samenstellen uitgevoerd die de string samenstelt. eenmalig voor iedereen.

Ik zou trouwens de tag property van de checkbox gebruiken om door alle checkboxen te lopen maar je kan ook het typeof keyword gebruiken.

Enjoy!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan