如何清除工作表中的所有复选框并更新与其连接的公式

时间:2018-10-22 20:28:00

标签: excel vba excel-vba checkbox

我目前有一个VBA代码,该代码已从网站复制到我的excel文件中,以清除“活动工作表”中的所有复选框。但是,如果未选中它们,则当复选框处于未选中状态时,用来清除某些单元格内容的公式(通过VBA完成)无效。例如:我设置了VBA公式,以便如果选中复选框1,则将更改某个单元格的值以反映某些信息,并且当未选中该复选框时,VBA代码还将使单元格内容清晰可见。下面的代码的问题在于,当它运行时(确实取消了复选框),连接到这些复选框的单元格的值不会像未选中复选框时那样被清除。 这是代码:

Sub ClearCheckBoxes()
'Updateby Extendoffice 20161129
Dim chkBox As Excel.CheckBox
Application.ScreenUpdating = False
For Each chkBox In ActiveSheet.CheckBoxes
        chkBox.Value = xlOff
Next chkBox
Application.ScreenUpdating = True
Call SiteClear
End Sub

1 个答案:

答案 0 :(得分:1)

前段时间我遇到了同样的问题。我通过遍历Alle选项框来解决它,并使用了以下代码:

ActiveSheet.OLEObjects("NameOfCheckBox").Object.Value = False