Excel工作表宏拆分保存 出现运行错误'1004' 方法’Copy'作用于对象’-Worksheets'时失败

运行代码PrivateSub分拆工作表()DimshtAsWorksheetDimMyBookAsWorkbookSetMyBook=ActiveWorkbookForE... 运行代码Private Sub 分拆工作表()Dim sht As WorksheetDim MyBook As WorkbookSet MyBook = ActiveWorkbookFor Each sht In MyBook.Sheetssht.CopyActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name, FileFormat:=xlNormal '将工作簿另存为EXCEL默认格式ActiveWorkbook.CloseNextMsgBox "文件已经被分拆完毕!"End Sub出现运行错误'1004' 方法’Copy'作用于对象’-Worksheets'时失败 展开
 我来答
lu_zhao_long
2018-05-31 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:2674万
展开全部
个人经验,在你编辑好这个含有 VBA 代码文件之后,肯定还没有保存。也就是说,此时 MyBook.Path 的值还是 Null。所以会出错。
建议先把文件保存以后,再测试这段代码看看结果如何。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
销香叶雨
2018-05-31 · TA获得超过3705个赞
知道大有可为答主
回答量:2045
采纳率:86%
帮助的人:464万
展开全部
Private Sub 分拆工作表()
Dim sht As Worksheet
Dim MyBook As Workbook
Set MyBook = ActiveWorkbook
For Each sht In MyBook.Sheets
sht.Copy
ActiveWorkbook.SaveAs Filename:=MyBook.Path & "\" & sht.Name,FileFormat:=xlNormal 
ActiveWorkbook.Close
Next
MsgBox "文件已经被分拆完毕!"
End Sub

代码没问题的。

应该是工作表本身的问题。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
复仇之牙
2018-05-31 · TA获得超过2250个赞
知道大有可为答主
回答量:1663
采纳率:78%
帮助的人:1542万
展开全部
代码没问题,有隐藏的工作表吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式