取消选中 Excel 中的"Checkboxes"



我有以下代码来取消选中工作表中的所有复选框。

它不会改变盒子。我收到消息框,确认范围是绿色的,因此循环应该开始。

Sub Changeboxes()
'Dim cb As CheckBox'
If Sheet1.Range("a1").Value = "green" Then
MsgBox "The range is green.", vbOKOnly
For Each cb In Sheet1.CheckBoxes
cb.Value = True
Next cb
Else
MsgBox "The range is NOT green.", vbOKOnly
End If
MsgBox "Checked availability updated.", vbOKOnly
End Sub

将此行:cb.Value = True更改为cb.Value = False以取消选中复选框。

编辑

是的,如果复选框是activex对象,那么上面的代码将不起作用。相反,请使用以下代码:

Sub ChangeBoxes()
Dim obj As OLEObject
If Sheet1.Range("a1").Value = "green" Then
MsgBox "The range is green.", vbOKOnly
For Each obj In Sheet1.OLEObjects
obj.Object.Value = True
Next
MsgBox "Checked availability updated.", vbOKOnly
Else
MsgBox "The range is NOT green.", vbOKOnly
End If
End Sub

我还将最后一个消息框移到了if语句的第一部分,因为无论A1中的值是否为绿色,它都会弹出。

最新更新