Sub Copy_Print_Areas()
Dim wshTemp As Worksheet, wsh As Worksheet
Dim lDestRw As Long
Application.ScreenUpdating = False
Set wshTemp = Sheets.Add(After:=Worksheets(Worksheets.Count))
For Each wsh In ActiveWorkbook.Worksheets
With wsh
If .Name <> wshTemp.Name And .Name <> "Setup" Then
If .ProtectContents = True Then
.Unprotect
End If
If .PageSetup.PrintArea <> "" Then
With wshTemp.UsedRange
lDestRw = .Row + .Rows.Count + 2
End With
.Range(.PageSetup.PrintArea).Copy
wshTemp.Cells(lDestRw, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wshTemp.Cells(lDestRw, 1).PasteSpecial Paste:=xlPasteColumnWidths
wshTemp.Cells(lDestRw, 1).PasteSpecial Paste:=xlPasteFormats
Cells.EntireColumn.AutoFit
End If
End If
End With
Next wsh
Application.ScreenUpdating = True
End Sub
Sub Copy_Print_Areas()
Dim wshTemp As Worksheet
Dim lDestRw As Long
Dim myRanges(4) As String
myRanges(1) = "A3:C6"
myRanges(2) = "F6:H12"
myRanges(3) = "A5:F7"
myRanges(4) = "F9:H15"
Application.ScreenUpdating = False
Set wshTemp = Sheets.Add(After:=Worksheets(Worksheets.Count))
For j = 1 To 4
With wshTemp.UsedRange
lDestRw = .Row + .Rows.Count + 2
End With
ActiveWorkbook.Sheets("jim").Range(myRanges(j)).Copy
wshTemp.Cells(lDestRw, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wshTemp.Cells(lDestRw, 1).PasteSpecial Paste:=xlPasteColumnWidths
wshTemp.Cells(lDestRw, 1).PasteSpecial Paste:=xlPasteFormats
Cells.EntireColumn.AutoFit
Next j
Application.ScreenUpdating = True
End Sub