I think I know what you are doing and I do basically the same thing on one of my spreadsheets (use a separate tab for reporting that is). I made a macro to create a tab, copy what I needed and then print and delete the tab. Then I tied this macro to a button.
If I've misunderstood you, just ignore me and I'll go away :P
Sub RK_Review()
'
' RK_Review Macro
' Macro recorded 8/15/2006 by Cberry
'
' Keyboard Shortcut: Ctrl+s
'
Dim sNewSheet As String
Sheets("Output").Select
Sheets.Add
sNewSheet = ActiveSheet.Name
Sheets("Output").Select
Columns("A:E").Select
Selection.Copy
Sheets(sNewSheet).Select
Range("a1").PasteSpecial xlValues
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Output").Select
Columns("G:G").Select
Application.CutCopyMode = False
Selection.Copy
Sheets(sNewSheet).Select
Columns("F:F").Select
Range("F1").PasteSpecial xlValues
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Output").Select
Columns("Z:AF").Select
Application.CutCopyMode = False
Selection.Copy
Sheets(sNewSheet).Select
Range("g1").PasteSpecial xlValues
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveSheet.PageSetup.PrintArea = "$A$2:$M$250"
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = "$A:$C"
End With
ActiveSheet.PageSetup.PrintArea = "$A$2:$M$250"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 70
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets(sNewSheet).Select
ActiveWindow.SelectedSheets.Delete
End Sub
Yes, I know it's sloppy and probably inefficient, but it gets the job done. Any body that can make this better, please let me know.
Bookmarks