我对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,让我别无选择,只能关闭程序。我附上了邮件的屏幕截图。
我在网上搜索并且知道当安装程序时会出现这样的问题,这会导致Microsoft程序崩溃,但是我没有安装任何新的东西,并且在安全模式下检查了excel的加载项,我看到没有com添加-INS。
我会删除最后一个条件,但excel不允许我打开子程序。我花了很多时间来构建这个宏,任何帮助都会非常感激!
答案 0 :(得分:0)
您的宏不应导致Excel崩溃,无论是保存文件的方式是导致错误还是您的安装有问题。
并确保将重置ScreenUpdating
和DisplayAlerts
设置为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