gpt4 book ai didi

excel - 如何遍历用户窗体上的复选框?

转载 作者:行者123 更新时间:2023-12-04 23:11:01 26 4
gpt4 key购买 nike

通过选择一个选项按钮,我希望事件表单上的所有复选框都取消选择并取消选中。

我可以使用 For Each 循环取消选择它,但这不适用于取消选中这些框。我得到错误:

chB.Value=Object variable or With block variable not set


Private Sub optB_9201_Click()

Dim ctrl As Control
Dim chB As CheckBox

If Me.optB_9201.Value = True _
And Me.optB_9251.Value = False _
And Me.optB_9301.Value = False Then

Me.img9301_main.Visible = True
Me.frM9301_View.Caption = "Du har valgt CLX-9201NA med følgende konfigurasjon:"
Me.frm9301_Equipment.Enabled = True

For Each ctrl In Me.frm9301_Equipment.Controls
ctrl.Enabled = False
chB.Value = False
Next ctrl

Me.frM9301_Stand.Enabled = True

For Each ctrl In Me.frM9301_Stand.Controls
ctrl.Enabled = True
Next ctrl

End If

End Sub

如何解决这个问题?

或者:

是否可能在用户窗体上有一个更改事件,该事件表明如果启用复选框 = 假,则值 =假。

这样我就不必在每个 OptionButton 上放入 For Each 循环。我尝试了 UserForm_Change Sub 和 UserForm_Click 但似乎没有任何效果。

最佳答案

您永远不会将任何内容分配给 chb (而且我不确定您是否需要使用该变量)。你可以这样做:

For Each ctrl In Me.frm9301_Equipment.Controls
ctrl.Enabled = False
ctrl.Value = False
Next ctrl

这仅适用于 全部 控件是复选框。如果不是这种情况,那么只需添加一些 if/then 逻辑:
For Each ctrl In Me.frm9301_Equipment.Controls
If TypeName(ctrl) = "CheckBox" Then
ctrl.Enabled = False
ctrl.Value = False
End If
Next ctrl

关于excel - 如何遍历用户窗体上的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com