Thomas Risi Softwareentwicklung

TextBoxes mit gleichen Events

Oftmals kommt es vor, daß sich z.B. viele TexBoxes auf einer UserForm befinden, die alle die gleiche Funktion ausführen sollen. Hierfür muß dann für jede TextBox eine eigene Ereignis-Funktion erstellt werden. Aber es geht auch einfacher ...


Quellcode für Klassenmodul (CTB) ...

Option Explicit Dim WithEvents TB As MSForms.TextBox Public Function Create(TextBox As MSForms.TextBox) As Boolean Set TB = TextBox If Not TB Is Nothing Then _ Create = True End Function ' Schreibt den Inhalt der TextBox in Zelle "A1" der aktiven Mappe. Private Sub TB_Change() On Error Resume Next [A1] = TB.Text End Sub ' Zeigt eine MessageBox mit dem Inhalt der TextBox. Private Sub TB_DblClick(ByVal Cancel As MSForms.ReturnBoolean) MsgBox TB.Text End Sub

Quellcode für die UserForm ...

Option Explicit ' Ein Array für die Objekte. Dim CTBS() As CTB ' Der Code funktioniert für eine variable Anzahl von TextBoxen. Private Sub UserForm_Initialize() Dim item As Object Dim i As Integer: i = -1 For Each item In Me.Controls If TypeOf item Is MSForms.TextBox Then i = i + 1 ReDim Preserve CTBS(i) Set CTBS(i) = New CTB CTBS(i).Create item End If Next item End Sub

Bewerten Sie bitte dieses Programm.
1 2 3 4 5
Weniger nützlich Sehr nützlich
Bitte teilen Sie uns mit, warum Sie das Programm so bewertet haben. (optional)