为了账号安全,请及时绑定邮箱和手机立即绑定

为什么MSExcel在WorkSheet_ChangeSub过程中崩溃并关闭?

为什么MSExcel在WorkSheet_ChangeSub过程中崩溃并关闭?

翻翻过去那场雪 2019-05-31 16:58:46
为什么MSExcel在WorkSheet_ChangeSub过程中崩溃并关闭?当我在Excel表上运行VBA代码时,我遇到了Excel崩溃的问题。我试图在工作表更改中添加以下公式:Private Sub Worksheet_Change(ByVal Target As Range)    Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1"End Sub当运行此代码时,我收到一条消息:“excel遇到了一个问题,需要关闭。“而Excel关闭了。如果我在Worksheet_Activate()程序,工作正常,不会崩溃Private Sub Worksheet_Activate()    Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1"End Sub但我真的需要它在Worksheet_Change()程序。在使用Worksheet_Change()事件,谁能指出解决这个问题的正确方向?
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

Excel崩溃了,而不是VBA函数。
事件未被禁用,调用堆栈由OnChange事件的无限循环填充。
帮助查找这类错误的一个小建议是:在事件的第一行上设置一个断点,然后一步地按F8执行它。

查看完整回答
反对 回复 2019-05-31
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

这个解决方案也很好:

Option ExplicitPrivate Busy As BooleanPrivate Sub Worksheet_Change(ByVal Target As Range)
    If Not Busy Then
        Busy = True
        Range("A1:A8").Formula = "=B1+C1"
        Busy = False
    End IfEnd Sub


查看完整回答
反对 回复 2019-05-31
  • 3 回答
  • 0 关注
  • 984 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信