【发布时间】:2026-01-27 12:50:01
【问题描述】:
我有一个 Excel 表,其中包含两列 CheckBox,其中每列的第一个 CheckBox 是切换所有其他 CheckBox 的“主”复选框。
我从This Tutorial得到了代码。
在我将代码复制到第二列之前它运行良好。
当激活第一个或第二个“主”复选框时,它会激活所有复选框。
第一个“主”复选框称为“MCB1”,第二个在此代码的副本中(带有另一个子名称)并称为 MCB2。
这是我的代码:
Sub SelectAll_Read()
Dim CB As CheckBox
For Each CB In ActiveSheet.CheckBoxes
If CB.Name <> ActiveSheet.CheckBoxes("MCB1").Name Then
CB.Value = ActiveSheet.CheckBoxes("MCB1").Value
End If
Next CB
End Sub
Sub Mixed_ReadState()
Dim CB As CheckBox
For Each CB In ActiveSheet.CheckBoxes
If CB.Name <> ActiveSheet.CheckBoxes("MCB1").Name And CB.Value <> ActiveSheet.CheckBoxes("MCB1").Value And ActiveSheet.CheckBoxes("MCB1").Value <> 2 Then
ActiveSheet.CheckBoxes("MCB1").Value = 2
Exit For
Else
ActiveSheet.CheckBoxes("MCB1").Value = CB.Value
End If
Next CB
End Sub
【问题讨论】: