[VBA ] 工作表另存新檔

作者: atelierz21 (HOXTON)   2018-09-05 15:54:55
各位神手午安,最近在寫將活頁簿內不同工作表另存成不同檔案的小程式。
但三不五時會跑出 Class Worksheet的Copy方法失敗的error '1004'。
奇怪的是偶爾會偶爾不會,或是跑幾個迴圈後就error,請問各位可以修改的方向或範例,
感激不盡,版本是Office 2010,程式如下:
Sub splitbook()
Dim xPath as string
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlarts = False
For Each xWs in ActiveWorkbook.Sheets
xWs.Copy
Application.ActiveWorkbook.SaveAs Filename:=xPath & "\" & xWs.Name, _
FileFormat:=xlOpenXMLWorkbook
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlarts = True
Application.ScreenUpdating = True
End Sub
作者: MOONRAKER (㊣牛鶴鰻毛人)   2018-09-05 16:53:00
錯的時候使用watch和即時視窗看每個變數內容找出錯誤以前我的機車下雨天會熄火 好不容易發動騎去車行老板說 現在沒熄火 他也找不出來問題在哪裡你的程式也是這樣 下次熄火的時候自己檢查
作者: paul60209 (我是保羅小小)   2018-09-06 09:46:00
可以在xWs.Copy前加上xWs.Activate試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com