Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
here's my situation, i have a workbook with many sheets in it, each sheet if
the default print shortcut button was used would print to 4 pages of A4 paper. the data on these sheets varies everyday, someday's only 1 page per sheet would be full of data others 2, 3, or 4 etc. how could i write a macro that would be able to print only the needed pages?, each page, if it contains any data would have a value in a totals cell. so i would need code along these lines Sheets("sheet1").Select IF(OR(total1="",total1=0),"don't print","don't print") ELSE set data1 = TRUE IF(OR(total2="",total2=0),"don't print","don't print") ELSE set data2 = TRUE IF(OR(total3="",total3=0),"don't print","don't print") ELSE set data3 = TRUE IF(OR(total4="",total4=0),"don't print","don't print") ELSE set data4 = TRUE IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 1", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 2", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 3", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 4", "don't print") Hope this helps to explain what im trying to do, and someone is able to code something that would work. Many thanks, Steve |
#2
![]()
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Hi Steven
Try this Sub test() If Range("total1") 0 Then ActiveSheet.PrintOut From:=1, To:=1 If Range("total2") 0 Then ActiveSheet.PrintOut From:=2, To:=2 If Range("total3") 0 Then ActiveSheet.PrintOut From:=3, To:=3 If Range("total4") 0 Then ActiveSheet.PrintOut From:=4, To:=4 End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message news:kELoc.118$6X5.92@newsfe1-win... here's my situation, i have a workbook with many sheets in it, each sheet if the default print shortcut button was used would print to 4 pages of A4 paper. the data on these sheets varies everyday, someday's only 1 page per sheet would be full of data others 2, 3, or 4 etc. how could i write a macro that would be able to print only the needed pages?, each page, if it contains any data would have a value in a totals cell. so i would need code along these lines Sheets("sheet1").Select IF(OR(total1="",total1=0),"don't print","don't print") ELSE set data1 = TRUE IF(OR(total2="",total2=0),"don't print","don't print") ELSE set data2 = TRUE IF(OR(total3="",total3=0),"don't print","don't print") ELSE set data3 = TRUE IF(OR(total4="",total4=0),"don't print","don't print") ELSE set data4 = TRUE IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 1", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 2", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 3", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 4", "don't print") Hope this helps to explain what im trying to do, and someone is able to code something that would work. Many thanks, Steve |
#3
![]()
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Thanks Ron,
how could i test this without printing? if possible? Steve "Ron de Bruin" wrote in message ... Hi Steven Try this Sub test() If Range("total1") 0 Then ActiveSheet.PrintOut From:=1, To:=1 If Range("total2") 0 Then ActiveSheet.PrintOut From:=2, To:=2 If Range("total3") 0 Then ActiveSheet.PrintOut From:=3, To:=3 If Range("total4") 0 Then ActiveSheet.PrintOut From:=4, To:=4 End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message news:kELoc.118$6X5.92@newsfe1-win... here's my situation, i have a workbook with many sheets in it, each sheet if the default print shortcut button was used would print to 4 pages of A4 paper. the data on these sheets varies everyday, someday's only 1 page per sheet would be full of data others 2, 3, or 4 etc. how could i write a macro that would be able to print only the needed pages?, each page, if it contains any data would have a value in a totals cell. so i would need code along these lines Sheets("sheet1").Select IF(OR(total1="",total1=0),"don't print","don't print") ELSE set data1 = TRUE IF(OR(total2="",total2=0),"don't print","don't print") ELSE set data2 = TRUE IF(OR(total3="",total3=0),"don't print","don't print") ELSE set data3 = TRUE IF(OR(total4="",total4=0),"don't print","don't print") ELSE set data4 = TRUE IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 1", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 2", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 3", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 4", "don't print") Hope this helps to explain what im trying to do, and someone is able to code something that would work. Many thanks, Steve |
#4
![]()
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Printpreview will not work with From:=1, To:=1
You must print -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message ... Thanks Ron, how could i test this without printing? if possible? Steve "Ron de Bruin" wrote in message ... Hi Steven Try this Sub test() If Range("total1") 0 Then ActiveSheet.PrintOut From:=1, To:=1 If Range("total2") 0 Then ActiveSheet.PrintOut From:=2, To:=2 If Range("total3") 0 Then ActiveSheet.PrintOut From:=3, To:=3 If Range("total4") 0 Then ActiveSheet.PrintOut From:=4, To:=4 End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message news:kELoc.118$6X5.92@newsfe1-win... here's my situation, i have a workbook with many sheets in it, each sheet if the default print shortcut button was used would print to 4 pages of A4 paper. the data on these sheets varies everyday, someday's only 1 page per sheet would be full of data others 2, 3, or 4 etc. how could i write a macro that would be able to print only the needed pages?, each page, if it contains any data would have a value in a totals cell. so i would need code along these lines Sheets("sheet1").Select IF(OR(total1="",total1=0),"don't print","don't print") ELSE set data1 = TRUE IF(OR(total2="",total2=0),"don't print","don't print") ELSE set data2 = TRUE IF(OR(total3="",total3=0),"don't print","don't print") ELSE set data3 = TRUE IF(OR(total4="",total4=0),"don't print","don't print") ELSE set data4 = TRUE IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 1", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 2", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 3", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 4", "don't print") Hope this helps to explain what im trying to do, and someone is able to code something that would work. Many thanks, Steve |
#5
![]()
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
How about instead of ActiveSheet.PrintOut set up a way to get the range for
the area to print and return it in a MsgBox? or DeBug Print? or.... -- steveb (Remove 'NOSPAM' from email address if replying direct) "Ron de Bruin" wrote in message ... Printpreview will not work with From:=1, To:=1 You must print -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message ... Thanks Ron, how could i test this without printing? if possible? Steve "Ron de Bruin" wrote in message ... Hi Steven Try this Sub test() If Range("total1") 0 Then ActiveSheet.PrintOut From:=1, To:=1 If Range("total2") 0 Then ActiveSheet.PrintOut From:=2, To:=2 If Range("total3") 0 Then ActiveSheet.PrintOut From:=3, To:=3 If Range("total4") 0 Then ActiveSheet.PrintOut From:=4, To:=4 End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message news:kELoc.118$6X5.92@newsfe1-win... here's my situation, i have a workbook with many sheets in it, each sheet if the default print shortcut button was used would print to 4 pages of A4 paper. the data on these sheets varies everyday, someday's only 1 page per sheet would be full of data others 2, 3, or 4 etc. how could i write a macro that would be able to print only the needed pages?, each page, if it contains any data would have a value in a totals cell. so i would need code along these lines Sheets("sheet1").Select IF(OR(total1="",total1=0),"don't print","don't print") ELSE set data1 = TRUE IF(OR(total2="",total2=0),"don't print","don't print") ELSE set data2 = TRUE IF(OR(total3="",total3=0),"don't print","don't print") ELSE set data3 = TRUE IF(OR(total4="",total4=0),"don't print","don't print") ELSE set data4 = TRUE IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 1", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 2", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 3", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 4", "don't print") Hope this helps to explain what im trying to do, and someone is able to code something that would work. Many thanks, Steve |
#6
![]()
Posted to microsoft.public.excel,microsoft.public.excel.programming,microsoft.public.excel.worksheet.functions
|
|||
|
|||
![]()
Or maybe:
Option Explicit Sub test() If Range("total1") 0 Then ActiveSheet.PrintOut preview:=True, From:=1, To:=1 If Range("total2") 0 Then ActiveSheet.PrintOut preview:=True, From:=2, To:=2 If Range("total3") 0 Then ActiveSheet.PrintOut preview:=True, From:=3, To:=3 If Range("total4") 0 Then ActiveSheet.PrintOut preview:=True, From:=4, To:=4 End Sub it worked ok for me in xl2002. steveb wrote: How about instead of ActiveSheet.PrintOut set up a way to get the range for the area to print and return it in a MsgBox? or DeBug Print? or.... -- steveb (Remove 'NOSPAM' from email address if replying direct) "Ron de Bruin" wrote in message ... Printpreview will not work with From:=1, To:=1 You must print -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message ... Thanks Ron, how could i test this without printing? if possible? Steve "Ron de Bruin" wrote in message ... Hi Steven Try this Sub test() If Range("total1") 0 Then ActiveSheet.PrintOut From:=1, To:=1 If Range("total2") 0 Then ActiveSheet.PrintOut From:=2, To:=2 If Range("total3") 0 Then ActiveSheet.PrintOut From:=3, To:=3 If Range("total4") 0 Then ActiveSheet.PrintOut From:=4, To:=4 End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Steven" wrote in message news:kELoc.118$6X5.92@newsfe1-win... here's my situation, i have a workbook with many sheets in it, each sheet if the default print shortcut button was used would print to 4 pages of A4 paper. the data on these sheets varies everyday, someday's only 1 page per sheet would be full of data others 2, 3, or 4 etc. how could i write a macro that would be able to print only the needed pages?, each page, if it contains any data would have a value in a totals cell. so i would need code along these lines Sheets("sheet1").Select IF(OR(total1="",total1=0),"don't print","don't print") ELSE set data1 = TRUE IF(OR(total2="",total2=0),"don't print","don't print") ELSE set data2 = TRUE IF(OR(total3="",total3=0),"don't print","don't print") ELSE set data3 = TRUE IF(OR(total4="",total4=0),"don't print","don't print") ELSE set data4 = TRUE IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 1", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 2", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 3", "don't print") IF(OR(data1 ="TRUE",data1="FALSE"),"Print Page 1 to 4", "don't print") Hope this helps to explain what im trying to do, and someone is able to code something that would work. Many thanks, Steve -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
conditional formatting and printing | Excel Discussion (Misc queries) | |||
conditional printing | Excel Discussion (Misc queries) | |||
Conditional Printing | Excel Discussion (Misc queries) | |||
Printing conditional images | Excel Discussion (Misc queries) | |||
conditional printing | Excel Programming |