Ich versuche, eine Reihe von Kontrollkästchen auf einem Optionsfeld basieren zu verstecken, aber ich erhalte „Fehler 1004: Anwendungs definiert oder Objekt definiert Fehler“:Für jedes Kästchen zum Ankreuzen in Array
Sub FU_EAL_PA_Toggle()
Dim cb As CheckBox
Dim MyCheckboxes As Variant
MyCheckboxes = Array(_
"FU_EAL_PA1", _
"FU_EAL_PA2", _
"FU_EAL_PA3", _
"FU_EAL_PA4", _
"FU_EAL_PA5", _
"FU_EAL_PA6", _
"FU_EAL_PA7", _
"FU_EAL_PA8", _
"FU_EAL_PA8", _
"FU_EAL_PA9", _
"FU_EAL_PA10")
If ActiveSheet.OptionButtons("FU_PA_NotAttendingEAL").Value = 1 Then
For Each cb In ActiveSheet.CheckBoxes(MyCheckboxes)
With ActiveSheet.CheckBoxes(MyCheckboxes)
.Enabled = True
.Visible = True
End With
Next cb
Else
For Each cb In ActiveSheet.CheckBoxes(MyCheckboxes)
With ActiveSheet.CheckBoxes(MyCheckboxes)
.Enabled = False
.Visible = False
End With
Next cb
End If
End Sub
- Gibt es einen besseren Weg, dies zu tun? (Beachten Sie, dass ich diesen Code für eine andere Teilmenge von Schaltflächen wiederholen werde, sodass ich nicht einfach alle Steuerelemente auf dem Blatt durchlaufen kann).
- Was mache ich hier falsch?
Sie können die Steuerelemente http://www.exclforcommerce.com/grouping-checkboxes-in-excel/ gruppieren (oder sie in einem Gruppenfeld-Steuerelement) und dann etwas wie "ActiveSheet.Shapes (" Gruppe 1 ") .Visible = (ActiveSheet.OptionButtons ("FU_PA_NotAttendingEAL"). Wert = 1) ' – Slai
Perfekt! Das hat den Trick gemacht, danke! –