We have a report generated in a pivot table (excel 2010) that can be filtered by department so that it can be sent to the relevant department head (pasted as values). The following macro allows me to copy the pivot as values and keep the general formatting of the pivot table, however the column widths and row heights are not preserved and each time the report is copied on to a new sheet.
Is it possible to amend the macro so that all the column widths and row heights are kept as per the pivot table and so that the copied report is pasted on to the same sheet each time?

Current macro is as follows:

Sub PivotCopyFormatValues()
Dim ws As Worksheet
Dim pt As PivotTable
Dim rngPT As Range
Dim rngPTa As Range
Dim rngCopy As Range
Dim rngCopy2 As Range
Dim lRowTop As Long
Dim lRowsPT As Long
Dim lRowPage As Long

On Error Resume Next
Set pt = ActiveCell.PivotTable
Set rngPTa = pt.PageRange
On Error GoTo errHandler

If pt Is Nothing Then
MsgBox "Could not copy pivot table for active cell"
GoTo exitHandler
Else
Set rngPT = pt.TableRange1
lRowTop = rngPT.Rows(1).Row
lRowsPT = rngPT.Rows.Count
Set ws = Worksheets.Add
Set rngCopy = rngPT.Resize(lRowsPT - 1)
Set rngCopy2 = rngPT.Rows(lRowsPT)

rngCopy.Copy Destination:=ws.Cells(lRowTop, 1)
rngCopy2.Copy Destination:=ws.Cells(lRowTop + lRowsPT - 1, 1)
End If

If Not rngPTa Is Nothing Then
lRowPage = rngPTa.Rows(1).Row
rngPTa.Copy Destination:=ws.Cells(lRowPage, 1)
End If

ws.Columns.AutoFit

exitHandler:
Exit Sub
errHandler:
MsgBox "Could not copy pivot table for active cell"
Resume exitHandler
End Sub

Your help would be most appreciated!

Cheers
Gary