我有一個大型Excel工作簿,其中包含多個工作表,其中包含與大型PowerPivot源關聯的數據透視表。我想將每個工作表單獨保存到工作簿中,僅作爲值。將包含數據透視表的工作表單獨分解爲單個工作簿
我已經設法在沒有數據透視表的工作簿上執行此操作。但是,我收到了這個項目的以下消息。我不想複製每次保存的嵌入數據,因爲它非常慢。任何提示或幫助?
Option Explicit
Sub JhSeparateSave()
Dim ws As Worksheet
Dim NewName As String
If MsgBox("Copy specific sheets to a new workbook" & vbCr & _
"New sheets will be pasted as values, named ranges removed" _
, vbYesNo, "NewCopy") = vbNo Then Exit Sub
' Input box to name new file
NewName = InputBox("Please Specify the name of your new workbook", "New Copy")
With Application
.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
If ws.Visible = xlSheetVisible Then
MsgBox ("Copy step 1")
ws.Copy
With ActiveWorkbook.Sheets(1).UsedRange
.Cells.Copy
.Cells.PasteSpecial xlPasteValues
.Cells(1).Select
End With
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & NewName & "-" & ws.Name
ActiveWorkbook.Close
MsgBox ("Saved sheet: " & ws.Name)
End If
Next ws
End With
End Sub
,而不是進行「複製」和「粘貼值」,爲什麼不直接將其保存爲CSV? –
我不想要csv ...我想要一個xlsx,我可以發送給其他同事 – Julien
還有一個選項,將它暫時保存爲csv並立即保存爲xlsx後刪除csv? –