excel应用程序定义或对象定义错误!

Sub 拆分工作表()
Dim sht As Worksheet
Application.DisplayAlerts = False
For Each sht In Worksheets
sht.Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & sht.Name & ".xls"
ActiveWorkbook.Close
Next
Application.DisplayAlerts = True
End Sub

这是个拆分工作表,之前拆了几个运行挺好 ,然后拆另一个时候突然就不行了!弹出excel应用程序定义或对象定义错误!谢谢

  可以如下方式解决:
  1、当按F5键,就报:运行时错误1004。可以这样操作,单击文件――选项――信任中心――打开“信任中心”对话框,宏设置――勾选“信任对VBA工程对象模型的访问”。再次运行,就不会出现运行时错误1004提示。

  2、再在搜索引擎查询,才知道运行时错误1004不只是在上面这种情况才会有提示。比如通过使用 Visual Basic 对应用程序的宏创建一个数组公式时您也可能会收到运行时错误1004提示提示信息。造成excel vba输入公式出现运行时错误1004的原因:当试图将传递一个包含超过 255 个字符的公式时,会发生此问题,并为应用程序中 Visual Basic 中使用 FormulaArray 属性。追问

不行!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-26

在前面加上一句:On Error Resume Next,修改后的代码如下:

Sub 拆分工作表()
    On Error Resume Next
    Dim sht As Worksheet    
    Application.DisplayAlerts = False    
    For Each sht In Worksheets        
        sht.Copy        
        ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & sht.Name & ".xls"        
        ActiveWorkbook.Close    
        Next    
        Application.DisplayAlerts = True
End Sub

追问

完全不行!运行后 自动中断 然后 生成了一个sheet1

追答

如果方便的话,你把出问题的文件发过来看看。我的邮箱:
[email protected]

追问

好的,已邮件!注意查收 谢谢

追答

问题已经解决,请看邮件回复!

本回答被提问者采纳
相似回答