У меня есть одна большая книга 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