I am going to keep it simple:
Is there any way to copy a complete sheet to another workbook by pasting only the values, but keeping the tables ?
Right now I am using the code below, but I can't seem to keep my tables in the new file that is created.
Any ideas on how to solve this ?
Sub export()
Dim SourceBook As Workbook, DestBook As Workbook, SourceSheet As Worksheet, DestSheet As Worksheet, ws As Worksheet
Dim SavePath As String, i As Integer
Set SourceBook = ThisWorkbook
SavePath = Sheets("UPDATE").Range("F23").Text
Set DestBook = Workbooks.Add
i = 1
For Each SourceSheet In SourceBook.Worksheets
If i <> 1 Then
SourceSheet.Cells.Copy
If i > 2 Then DestBook.Worksheets.Add After:=DestBook.Sheets(DestBook.Sheets.Count)
If UCase(SourceSheet.Name) = "DASHBOARD" Then
Range("A1").Select
ActiveSheet.Paste
Else
With Range("A1")
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats 'Delete if you don't want formats copied
End With
End If
ActiveSheet.Name = SourceSheet.Name
DestBook.Activate
With ActiveWindow
.DisplayGridlines = False
'.DisplayWorkbookTabs = False
End With
End If
i = i + 1
Next SourceSheet
SourceBook.Activate
Application.DisplayAlerts = False 'Delete if you want overwrite warning
DestBook.SaveAs Filename:=Replace(SavePath & "\" & Sheets("UPDATE").Range("F22").Text & ".xlsx", "\\", "\")
Application.DisplayAlerts = True 'Delete if you delete other line
SavePath = DestBook.FullName
DestBook.Close 'Delete if you want to leave copy open
MsgBox ("A copy has been saved to " & SavePath)
End Sub