ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   PRINTING (https://www.excelbanter.com/excel-worksheet-functions/112265-printing.html)

NILELATOR

PRINTING
 
I MADE A SPREAD SHEET TO TRACK JOBS THAT WE BID. I SET UP ALL THE FORMULAS SO
ACCOMADATE 1500 JOBS. THE PROBLEM IS THATS 31 PAGES AND I DON'T WANT TO PRINT
ALL OF THEM UNLESS THERE'S INFO ON THE PAGES IS THERE ANY SETTING OTHER THAN
"SET PRINT AREA" SO IT WILL ONLY PRINT WHAT HAS INFORMATION ON IT

Sarah Jane

PRINTING
 
With 1500 jobs, I don't know how practical my solution is. You can hide the
rows that don't have information on them, and Excel will print only the rows
still showing. To hide rows, select the rows you want hidden, then either
right click and select Hide or use the Format menu to click on Rows and then
select Hide.

Sarah Jane

"NILELATOR" wrote:

I MADE A SPREAD SHEET TO TRACK JOBS THAT WE BID. I SET UP ALL THE FORMULAS SO
ACCOMADATE 1500 JOBS. THE PROBLEM IS THATS 31 PAGES AND I DON'T WANT TO PRINT
ALL OF THEM UNLESS THERE'S INFO ON THE PAGES IS THERE ANY SETTING OTHER THAN
"SET PRINT AREA" SO IT WILL ONLY PRINT WHAT HAS INFORMATION ON IT


JLatham

PRINTING
 
If you have one particular column that you could use to determine the last
row actually used on the sheet, then you could use this macro as the basis
for a routine you could call before printing the sheet to redefine the print
area:

Change the A and K entries to include the actual columns to be printed, and
change the "B" to whatever column you know will be the longest one (one with
data farthest down the sheet) and it should work. If for some reason you
aren't starting your printout with row 1, then change the "1:" to the first
row to be printed?

You could put this as a general macro to be called manually, or use the body
of it as the basis (needs some modification) within the workbook's
"BeforePrint" event handler.

Sub SetPrintRange()
'
Dim NewPrintRange As String
Const FirstColumnToPrint = "A" 'change as required
Const LastColumnToPrint = "K" ' change as required
Const LongestColumn = "B" ' change as required
'assumes printing from row 1

NewPrintRange = FirstColumnToPrint & "1:" & _
LastColumnToPrint & _
Trim(Str(Range(LongestColumn & "65536").End(xlUp).Row))
ActiveSheet.PageSetup.PrintArea = NewPrintRange
End Sub

"NILELATOR" wrote:

I MADE A SPREAD SHEET TO TRACK JOBS THAT WE BID. I SET UP ALL THE FORMULAS SO
ACCOMADATE 1500 JOBS. THE PROBLEM IS THATS 31 PAGES AND I DON'T WANT TO PRINT
ALL OF THEM UNLESS THERE'S INFO ON THE PAGES IS THERE ANY SETTING OTHER THAN
"SET PRINT AREA" SO IT WILL ONLY PRINT WHAT HAS INFORMATION ON IT


NILELATOR

PRINTING
 
THAT WOULD WORK, BUT I PROBLEMS IS THAT I HAVE CREATED THIS FOR USE BY THE
ENTIRE COMPANY AND NOT ALL ARE COMPUTOR SAVY. I'M LOOKING FOR SOMETHING THAT
WILL DO IT AUTOMATIC WITH OUT HAVING TO DO ANYTHING EXCEPT HIT THE PRINT
BHUTTON

"Sarah Jane" wrote:

With 1500 jobs, I don't know how practical my solution is. You can hide the
rows that don't have information on them, and Excel will print only the rows
still showing. To hide rows, select the rows you want hidden, then either
right click and select Hide or use the Format menu to click on Rows and then
select Hide.

Sarah Jane

"NILELATOR" wrote:

I MADE A SPREAD SHEET TO TRACK JOBS THAT WE BID. I SET UP ALL THE FORMULAS SO
ACCOMADATE 1500 JOBS. THE PROBLEM IS THATS 31 PAGES AND I DON'T WANT TO PRINT
ALL OF THEM UNLESS THERE'S INFO ON THE PAGES IS THERE ANY SETTING OTHER THAN
"SET PRINT AREA" SO IT WILL ONLY PRINT WHAT HAS INFORMATION ON IT


NILELATOR

PRINTING
 
sounds good, i tried rondebruin's fix that's on his site
www.rondebruin.nl/print i don't know if i did it wrong or what, this is the
first time for me to go into code and micro writing so i don't know if i'm
doing it right

"JLatham" wrote:

If you have one particular column that you could use to determine the last
row actually used on the sheet, then you could use this macro as the basis
for a routine you could call before printing the sheet to redefine the print
area:

Change the A and K entries to include the actual columns to be printed, and
change the "B" to whatever column you know will be the longest one (one with
data farthest down the sheet) and it should work. If for some reason you
aren't starting your printout with row 1, then change the "1:" to the first
row to be printed?

You could put this as a general macro to be called manually, or use the body
of it as the basis (needs some modification) within the workbook's
"BeforePrint" event handler.

Sub SetPrintRange()
'
Dim NewPrintRange As String
Const FirstColumnToPrint = "A" 'change as required
Const LastColumnToPrint = "K" ' change as required
Const LongestColumn = "B" ' change as required
'assumes printing from row 1

NewPrintRange = FirstColumnToPrint & "1:" & _
LastColumnToPrint & _
Trim(Str(Range(LongestColumn & "65536").End(xlUp).Row))
ActiveSheet.PageSetup.PrintArea = NewPrintRange
End Sub

"NILELATOR" wrote:

I MADE A SPREAD SHEET TO TRACK JOBS THAT WE BID. I SET UP ALL THE FORMULAS SO
ACCOMADATE 1500 JOBS. THE PROBLEM IS THATS 31 PAGES AND I DON'T WANT TO PRINT
ALL OF THEM UNLESS THERE'S INFO ON THE PAGES IS THERE ANY SETTING OTHER THAN
"SET PRINT AREA" SO IT WILL ONLY PRINT WHAT HAS INFORMATION ON IT



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

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