vba小程序报错“自动化”怎么处理?

首先,如果代码被用作Worksheet_Change事件,则第一行代码中的For...下一个循环将导致无限递归错误。

这段代码是Cells.Delete,一旦执行,将再次触发Worksheet_Change事件,启动嵌套事件流程,然后当执行到这一行时,将再次触发Worksheet_Change事件,以此类推。

应在事件过程的第一句话中添加:

申请。EnableEvents = False

禁止VBA对任何事件做出响应,以保证后续代码正确运行。

然后在事件过程的最后一句话中添加以下内容:

申请。EnableEvents = True

还原VBA对事件的反应。