大きな PowerPivot ソースにリンクされたピボット テーブルを含む複数のワークシートを含む 1 つの大きな Excel ワークブックがあります。各ワークシートをワークブックに個別に値としてのみ保存したいと考えています。
ピボットテーブルのないワークブックでこれを行うことができました。しかし、このプロジェクトでは次のメッセージが表示されます。非常に遅いため、保存ごとに埋め込まれたデータをコピーしたくありません。ヒントやヘルプはありますか?
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