excel vba检查命令button和checkbox是否存在

我有一个使用checkbox和命令button的脚本,并且有一个macros将它们重置为每个工作表的默认值。

'opt button reset For i = 1 To Worksheets.Count Sheets(i).Shapes("Option Button 1").ControlFormat.Value = xlOn Next i 'cb reset For i = 1 To Worksheets.Count Sheets(i).Shapes("CheckBox1").ControlFormat.Value = xlOff Next i 

问题是,如果没有checkbox或selectbutton的工作表,脚本不起作用

我想要做的是检查cb和ob是否存在,只执行脚本比。

提前致谢

你有几个select。

  1. 最快的方法:在错误恢复下一步

     On Error Resume Next For i = 1 To Worksheets.Count Sheets(i).Shapes("Option Button 1").ControlFormat.Value = xlOn 'opt button reset Sheets(i).Shapes("CheckBox1").ControlFormat.Value = xlOff 'cb reset Next i 
  2. 通过对象循环并匹配名称

     For i = 1 To Worksheets.Count For Each myControl In Sheets(i).Shapes If myControl.Name = "CheckBox1" Then myControl.Value = xlOff ElseIf myControl.Name = "Option Button 1" Then myControl.Value = xlOn End If Next myControl Next i