在vba中打开模块时Excel崩溃

时间:2017-01-29 10:41:22

标签: excel-vba vba excel

我对macros很陌生,但我尝试构建一个,实际上是一个非常精细的一个!在我的代码中包含的最后一个验证文件之后,每当我尝试打开我编写宏的大部分内容的模块时,excel都会崩溃。即使我尝试保存包含此宏的工作簿,也会发生这种情况。我能够在此工作簿和任何其他Excel工作簿中打开其他模块。在子例程开头添加if条件后,问题似乎只存在于一个特定模块中。基本上,下面是我试过的,我相信每次尝试使用这个宏做任何事情都会让你崩溃:

Sub Process()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If ThisWorkbook.Sheets("Main").Range("XFD2").Value <> 2 Then
  MsgBox "Create reports first!"
  Else
    'Lot of other stuff
End If
End Sub

每次我尝试打开这个模块时,Windows都说Microsoft excel停止工作,然后我得到另一个pop,让我别无选择,只能关闭程序。我附上了邮件的屏幕截图。

Excel Message

我在网上搜索并且知道当安装程序时会出现这样的问题,这会导致Microsoft程序崩溃,但是我没有安装任何新的东西,并且在安全模式下检查了excel的加载项,我看到没有com添加-INS。

我会删除最后一个条件,但excel不允许我打开子程序。我花了很多时间来构建这个宏,任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:0)

您的宏不应导致Excel崩溃,无论是保存文件的方式是导致错误还是您的安装有问题。

并确保将重置ScreenUpdatingDisplayAlerts设置为true,

Sub Process()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If ThisWorkbook.Sheets("Main").Range("XFD2").Value <> 2 Then
  MsgBox "Create reports first!"
  Else
    'Lot of other stuff
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub