ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Print sub returns (https://www.excelbanter.com/excel-programming/375004-print-sub-returns.html)

Montana

Print sub returns
 
PRINT1 WORKS FINE; PRINT2 RETURNS A RUN-TIME 1004 ERROR. EACH SUB REFERS TO A
DIFFERENT WORKSHEET IN A WORKBOOK.

Sub Print1()
'
'
' Print Macro
' Macro written 6/28/2006 by djones
' Copied here 10/12/2006

Worksheets("Summary").Activate
Range("A1:AA22").Select
ActiveSheet.PageSetup.PrintArea = "A1:AA22"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("A:B").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 3
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Sub Print2()


Worksheets("Assumptions").Activate
Range("A1:D33").Select
ActiveSheet.PageSetup.PrintArea = "A1:D33"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub


--
Peace

Don Guillett

Print sub returns
 
I tested sub 2, as written, and it worked just fine. However, you don't need
selections. This will work from anywhere in the workbook. This type macro is
very slow so I strongly suggest you eliminate any unnecessary lines in the
code below or use another macro to JUST set up the constants and do it ONCE
instead of each time.

Sub Print2()
With Worksheets("sheet8").PageSetup
.PrintArea = "A1:D33"

.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
Sheets("sheet8").PrintOut
End Sub

--
Don Guillett
SalesAid Software

"Montana" wrote in message
...
PRINT1 WORKS FINE; PRINT2 RETURNS A RUN-TIME 1004 ERROR. EACH SUB REFERS
TO A
DIFFERENT WORKSHEET IN A WORKBOOK.

Sub Print1()
'
'
' Print Macro
' Macro written 6/28/2006 by djones
' Copied here 10/12/2006

Worksheets("Summary").Activate
Range("A1:AA22").Select
ActiveSheet.PageSetup.PrintArea = "A1:AA22"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("A:B").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 3
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Sub Print2()


Worksheets("Assumptions").Activate
Range("A1:D33").Select
ActiveSheet.PageSetup.PrintArea = "A1:D33"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub


--
Peace




Montana

Print sub returns
 
Solution worked great!

Thanks
--
Peace


"Montana" wrote:

PRINT1 WORKS FINE; PRINT2 RETURNS A RUN-TIME 1004 ERROR. EACH SUB REFERS TO A
DIFFERENT WORKSHEET IN A WORKBOOK.

Sub Print1()
'
'
' Print Macro
' Macro written 6/28/2006 by djones
' Copied here 10/12/2006

Worksheets("Summary").Activate
Range("A1:AA22").Select
ActiveSheet.PageSetup.PrintArea = "A1:AA22"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("A:B").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 3
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Sub Print2()


Worksheets("Assumptions").Activate
Range("A1:D33").Select
ActiveSheet.PageSetup.PrintArea = "A1:D33"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub


--
Peace


Montana

Print sub returns
 
Worked great!

Thanks
--
Peace


"Don Guillett" wrote:

I tested sub 2, as written, and it worked just fine. However, you don't need
selections. This will work from anywhere in the workbook. This type macro is
very slow so I strongly suggest you eliminate any unnecessary lines in the
code below or use another macro to JUST set up the constants and do it ONCE
instead of each time.

Sub Print2()
With Worksheets("sheet8").PageSetup
.PrintArea = "A1:D33"

.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
Sheets("sheet8").PrintOut
End Sub

--
Don Guillett
SalesAid Software

"Montana" wrote in message
...
PRINT1 WORKS FINE; PRINT2 RETURNS A RUN-TIME 1004 ERROR. EACH SUB REFERS
TO A
DIFFERENT WORKSHEET IN A WORKBOOK.

Sub Print1()
'
'
' Print Macro
' Macro written 6/28/2006 by djones
' Copied here 10/12/2006

Worksheets("Summary").Activate
Range("A1:AA22").Select
ActiveSheet.PageSetup.PrintArea = "A1:AA22"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("A:B").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 3
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Sub Print2()


Worksheets("Assumptions").Activate
Range("A1:D33").Select
ActiveSheet.PageSetup.PrintArea = "A1:D33"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub


--
Peace





Don Guillett

Print sub returns
 
glad to help but I don't know why your original didn't work.

--
Don Guillett
SalesAid Software

"Montana" wrote in message
...
Worked great!

Thanks
--
Peace


"Don Guillett" wrote:

I tested sub 2, as written, and it worked just fine. However, you don't
need
selections. This will work from anywhere in the workbook. This type macro
is
very slow so I strongly suggest you eliminate any unnecessary lines in
the
code below or use another macro to JUST set up the constants and do it
ONCE
instead of each time.

Sub Print2()
With Worksheets("sheet8").PageSetup
.PrintArea = "A1:D33"

.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
End With
Sheets("sheet8").PrintOut
End Sub

--
Don Guillett
SalesAid Software

"Montana" wrote in message
...
PRINT1 WORKS FINE; PRINT2 RETURNS A RUN-TIME 1004 ERROR. EACH SUB
REFERS
TO A
DIFFERENT WORKSHEET IN A WORKBOOK.

Sub Print1()
'
'
' Print Macro
' Macro written 6/28/2006 by djones
' Copied here 10/12/2006

Worksheets("Summary").Activate
Range("A1:AA22").Select
ActiveSheet.PageSetup.PrintArea = "A1:AA22"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("A:B").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 3
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Sub Print2()


Worksheets("Assumptions").Activate
Range("A1:D33").Select
ActiveSheet.PageSetup.PrintArea = "A1:D33"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "TCM EOM 07 Summary"
.RightHeader = ""
.LeftFooter = "&D"
.CenterFooter = "Page &P"
.FirstPageNumber = "1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.5)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = True
.PrintTitleColumns = ActiveSheet.Columns("a:b").Address
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLegal
.FitToPagesTall = 1
.FitToPagesWide = 1
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100


.PrintErrors = xlPrintErrorsDisplayed
End With

' ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWindow.SelectedSheets.PrintPreview
End Sub


--
Peace








All times are GMT +1. The time now is 12:46 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com