我有一个Excel工作表,其中两列CheckBoxes,其中每个的第一个CheckBox是“主”复选框,用于切换所有其他CheckBoxes。
我从This Tutorial得到了密码。VBA Excel CheckBox选择工作表上的某些特定复选框
它工作正常,直到我将代码复制到第二列。
当激活第一个或第二个“Master”复选框时,它激活所有复选框。
第一个“主”复选框被称为“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
在你的第二个段落,我觉得你的意思是:'...对于第2栏中的复选框:MCB2.1,MCB2.2,MCB2.3.' – ARich
@ARICH是的,你是对的。谢谢! – hstay