checkbox以选中并取消选中电子表格中的所有其他checkbox

我有一个电子表格,用每个订单项的checkbox拉入订单项。 我想在上面放置一个checkbox,当选中/取消select时,将选中并取消选中电子表格中的所有其他checkbox。 以下是我目前使用的代码,如果select了“checkbox1”,将选中所有的checkbox,但是如果取消选中,则不会取消select它们。 如果取消选中“checkbox1”,还需要添加哪些内容才能取消select框。 谢谢你的帮助。

Sub SelectAllCheckBox() Dim CB As CheckBox If ActiveSheet.CheckBoxes("Check Box 1").Value Then For Each CB In ActiveSheet.CheckBoxes If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name Then CB.Value = True End If Next CB End If End Sub 

我也遇到了另一个问题。 我有一个macros来清除工作表,所以不同的macros可以运行。 这个macros里面的代码删除了所有的checkbox。 我怎样才能让代码不会被删除“checkbox1”。 这是我的代码。

 Sheets("Quote Sheet").Select Range("D3:D7").Select Selection.ClearContents Rows("11:1000").Select Selection.Delete Shift:=xlUp ActiveSheet.CheckBoxes.Delete Selection.FormatConditions.Delete 

我尝试了以下,但它没有工作。

 Sheets("Quote Sheet").Select Range("D3:D7").Select Selection.ClearContents Rows("11:1000").Select Selection.Delete Shift:=xlUp If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name Then ActiveSheet.CheckBoxes.Delete Selection.FormatConditions.Delete 

 Sub SelectAllCheckBox() Dim CB As CheckBox For Each CB In ActiveSheet.CheckBoxes If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name Then CB.Value = ActiveSheet.CheckBoxes("Check Box 1").Value End If Next CB End Sub 

第二部分:

 Dim CB as CheckBox, n as long, x as long n = ActiveSheet.CheckBoxes.Count For x = n to 1 Step -1 Set CB = ActiveSheet.CheckBoxes(x) If CB.Name <> "Check Box 1" Then CB.Delete Next x