Thomas Risi Softwareentwicklung

Steuerelemente in Userform

Wenn gleichartige Steuerelemente in einer Userform verwendet werden, ergibt sich oft die Notwendigkeit, diese gezielt anzusprechen. In den Beispielen wird gezeigt, wie dies mit einer Schleife geschieht. Zudem werden die Steuerelemente in eine Collection eingelesen, um sie mit einem Index zu versehen.

Am Einfachsten verwendet man hierzu die TypeOf - Funktion. Diese überprüft, ob ein Steuerelement einer bestimmten Klasse zugehörig ist.



Beispiel 1: Code für UserForm ...
Option Explicit ' Diese Funktion ändert die 'Caption'-Eigenschaft aller ' CommandButtons innerhalb der angegebenen UserForm. Private Sub ChangeCBCaption() Dim item As Object For Each item In Me.Controls If TypeOf item Is MSForms.COMMANDBUTTON Then item.Caption = "?" End If Next item End Sub

Beispiel 2: Code für UserForm ...
Option Explicit ' Hier werden z.B. alle 'CheckBox'-Steuerelemente in eine Collection ' eingelesen um sie später indiziert ansprechen zu können. Dim CheckBoxes As New Collection ' Weisen Sie dieses Makro z.B. einem 'CommandButton' zu. Bei ' Ausführung werden die Werte aller 'CheckBoxes' geändert. Private Sub UserForm_Initialize() Dim item As Object For Each item In Me.Controls If TypeOf item Is MSForms.CHECKBOX Then CheckBoxes.Add item End If Next item End Sub ' Jetzt ist jedes Element mit einem Index versehen. Sub IndexTest() Dim i As Long For i = 1 To CheckBoxes.Count CheckBoxes(i).Value = Not CheckBoxes(i).Value Next i 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)