AW: Wie? Gleichnamige Objekte mit Index in VBA
31.10.2003 16:02:30
Mandix
Danke für den Tipp, auf deiner Website befinden sich wirklich interessante Dinge.
Interessant für mein Problem ist vor allem die Anwendung einer Collection (Code-Sample siehe weiter unten). Ich hoffe, es stört dich nicht, dass ich für alle Interessierten kurzerhand den Code hier hereinkopiert habe.
Besten Dank, M.
' Hier werden alle 'CheckBox'-Steuerelemente in eine Collection
' eingelesen um sie 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.
'
Sub CBCollection()
Dim i As Object, n As Long
For n = CheckBoxes.Count To 1 Step -1
CheckBoxes.Remove n
Next n
For Each i In UserForm1.Controls
If TypeOf i Is MSForms.CHECKBOX Then
CheckBoxes.Add i
End If
Next i
IndexTest
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