Excel VBA-调试器在停止程序时崩溃Excel

Excel VBA-调试器在停止程序时崩溃Excel,vba,excel,debugging,crash,Vba,Excel,Debugging,Crash,我正在尝试编写代码,以便能够在文本框中进行简单的数学运算(用户输入5/8,.625)。如果我遇到错误,调试器会告诉我错误,如果我点击结束按钮,另一个Excel窗口会弹出“Microsoft Excel已停止工作”,Excel会关闭然后重新打开。当我在代码中放置断点并在断点处停止程序时,也会发生这种情况,excel只是崩溃,没有警告或解释 这里是我调试的几行代码,也许这会告诉你为什么,但是我有几个不同的模块用于这个项目,我以前从来没有遇到过这个问题,并且我能够毫无问题地进行调试 Sub Textb

我正在尝试编写代码,以便能够在文本框中进行简单的数学运算(用户输入5/8,.625)。如果我遇到错误,调试器会告诉我错误,如果我点击结束按钮,另一个Excel窗口会弹出“Microsoft Excel已停止工作”,Excel会关闭然后重新打开。当我在代码中放置断点并在断点处停止程序时,也会发生这种情况,excel只是崩溃,没有警告或解释

这里是我调试的几行代码,也许这会告诉你为什么,但是我有几个不同的模块用于这个项目,我以前从来没有遇到过这个问题,并且我能够毫无问题地进行调试

Sub TextboxMath(textbox As MSForms.textbox)
    Dim value As String

    value = textbox

    For i = 1 To Len(value)
        If Mid(value, i, 1) = "+" Then
        ElseIf Mid(value, i, 1) = "-" Then
        ElseIf Mid(value, i, 1) = "*" Then
        ElseIf Mid(value, i, 1) = "/" Then
        End If
    Next i
End Sub
以及运行子过程的代码

Private Sub tbANTShankDiameter_AfterUpdate()
    If obSDIN.value = True Then
        Call TextboxMath(tbANTShankDiameter)
    End If
End Sub
只有在出现错误后停止或重置调试器和程序时,才会发生这种情况。如果您有任何建议,我将不胜感激。如果我需要提供更多信息,请告诉我,以帮助您提供更好的建议。非常感谢您的阅读和帮助

编辑:

我尝试将所有的用户表单、代码和数据传输到一个新的工作簿,但仍然没有成功,它崩溃了。但是,我确实注意到,它只会在代码中的AfterUpdate事件中崩溃,而不会在其他任何事件中崩溃。当您在出现错误时停止或重置调试器,或者当我在断点处停止代码进行测试时,它会崩溃。这是我第一次使用这些事件,而且我的工作簿中没有其他地方有它们,这就是为什么我以前从未遇到过这个问题。有什么新想法吗?再次感谢


Evan

打开文件后,在运行任何子组件或函数之前,请尝试编译代码:在VBA编辑器中,菜单“调试->编译VBA项目”。它编译时没有任何问题吗?是否将任何对象添加到任何图纸?您是否更改了任何Excel设置?你安装了插件吗?是的,所有的东西都是编译的,没有通知或者其他任何东西。没有插件,没有更改默认设置,也没有添加对象。当我一行一行地检查代码时,即使代码很好并且可以工作,如果我停止或重置调试器,excel也会立即崩溃。我上面的代码是按照我希望的方式工作的,很难继续调整它,因为我无法测试任何东西。感谢您的快速回复。当您将现有代码复制到一个干净的工作簿中,然后运行它时,是否也会发生这种情况?显然,您无法像这样完成很多工作。。。代码似乎很好;一些建议:VBA编辑器、菜单工具->选项、第三个选项卡(常规)和右侧“状态丢失前通知”部分中的更改设置可能毫无帮助,但“错误捕获”和编译设置可能会有所帮助。运行“修复办公室”,或从中删除办公室设置-这将删除所有自定义设置。最后:重新安装。。。(也许其他人可以提出不那么激烈的建议)你有没有添加的参考资料?标准还是第三方?