- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
請問我運行這個VBA, 有30個SHEETS, 但運轉了5分鐘還沒有停頓, 是有甚麼錯誤呢? 又如何以以在完成存檔後自動 ...
missbb 發表於 2015-8-6 23:48 
一、 .Copy 範圍太抽象了,應明確告知其實際複製範圍;
二、 妳檔案尚未新增何來儲存檔案?
三、 以妳原本內容為稿底、稍予修正,請妳自行再測試看看:- Sub Splitbook()
- Dim xPath As String, xWs As Worksheet
- xPath = Application.ActiveWorkbook.Path
- Application.ScreenUpdating = False
- Application.DisplayAlerts = False
- For Each xWs In ThisWorkbook.Sheets
- With Sheets(xWs.Name)
- .UsedRange.Copy
- With Workbooks.Add(1)
- .Sheets(1).Paste
- .SaveAs xPath & "\" & xWs.Name & ".xls", FileFormat:=xlExcel8
- .Close
- End With
- End With
- Next
- Application.DisplayAlerts = True
- Application.ScreenUpdating = True
- End Sub
複製代碼 |
|