Click- und Enter-Ereignisse in einer Schleife?
07.09.2005 13:13:12
ChrisBee
Dank Euerer Hilfe ist mein Projekt inzwischen nun schon richtig weit fortgeschritten.
Nun würde ich gerne versuchen eines der UserForms ein wenig zu vereinfachen,
da es inzwischen wirklich umfangreiche Funktionen enthält, aber auch einen
unheimlich langen Code.
Das UserForm enthält eine MultiPage mit zwei Seiten und jede Seite dann
unter anderem 8 OptionButtons, 8 Label und 8 Textfelder.
Deren Code sieht im Moment so aus:
Private Sub optKms1_Click()
optKms1.Value = True
txtKms1.Locked = False
txtKms1.BorderStyle = fmBorderStyleSingle
txtKms1.BackStyle = fmBackStyleOpaque
txtKms1.Value = "0,01" 'nur diese beiden Zeilen ändern sich jeweils zu
Label1.Tag = "0,01" '0,02; 0,05; 0,10; 0,20; 0,50; 1,00; 2,00
txtKms1.SetFocus
Call plus
End Sub
Private Sub Label1_Click()
Call txtStyle
Label1.Tag = "0"
optKms1.Value = False
txtKms1.Value = ""
Call plus
Call EKplus
End Sub
Private Sub txtKms1_Enter()
Call txtStyle
If optKms1.Value = True Then
txtKms1.BorderStyle = fmBorderStyleSingle
txtKms1.BackStyle = fmBackStyleOpaque
txtKms1.Locked = False
End If
End Sub
Private Sub txtKms1_Exit()
Call EKplus
End Sub
Das Ganze folgt nun 8x hintereinander, wobei sich jeweils nur die Zahl in den zwei
markierten Zeilen ändert und aus jeder 1 im Code wird eine 2, dann 3 usw...
Für MultiPage 2 dann nochmal das Gleiche mit einer 0 vor jeder Zahl. (01, 02...)
Macht zusammen 64 fast völlig identische Code-Einträge.
Kann man aus diesem Code eine Art Schleife bilden, damit ich nicht jedes
Ereignis für jedes einzelne Steuerelement extra auflisten muß?
Das würde den Code erheblich kürzen und wieder übersichtlicher machen.
Sonnige Grüße
ChrisBee