我正在尝试使用代码在工作表中添加一个复选框:
Sub DropCheckboxOnSheet()
ActiveSheet.OLEObjects.Add ClassType:="Forms.CheckBox.1"
End Sub
当我运行此代码时,我确实在工作表中添加了一个复选框,但是我也收到了Excel“无法在中断模式下执行代码”的消息。我知道我的代码会在对象模型中添加一个对象,这就是它破坏的原因,但它也提示我继续选择。
如何在添加对象后告诉VBA继续?
我尝试过的:
添加DisplayAlerts=False
不起作用。
MSDN没有提供任何帮助:https://msdn.microsoft.com/en-us/library/office/gg264133.aspx
答案 0 :(得分:1)
我不确定这是最安全的解决方案,但是因为添加" End"杀死所有宏。我唯一真正使用它的是进度条。我会更加努力地使用"在接下来的错误恢复"是一个绑带。如果您确实使用它,请确保使用" On error goto 0"恢复默认错误处理。
Sub DropCheckboxOnSheet()
ActiveSheet.OLEObjects.Add ClassType:="Forms.CheckBox.1"
End
End Sub
e.g。
Sub DropCheckboxOnSheet()
On error resume next
ActiveSheet.OLEObjects.Add ClassType:="Forms.CheckBox.1"
On error goto 0
End Sub
更改子名称可能会解决您的问题。如果你在另一个打开的工作簿中有相同的子,则可能会抛出错误。