Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 22
Default Print selective pages - only if the pages's Rows.Hidden = False"

Hi there,
I have a sheet with 25 pages, where the ranges of the pages are named
ranges. I have a different number of pages to print out, from only 3 to all
25. I find that the solution should become like:

Sheet1.PageSetup.PrintArea = Sheet1.Range(Union(rng1, rng2, rng3,
....)).Address

But how to come there? In words:
Identify the pages with "Rows.hidden = False". If True, the name of the page
should be added to an array.
After looping through the sheet, there is a array to add into the Union
formula

Am I right? If yes - how do I do this in vba? My weakest point in VBA is
Arrays, and I can't figure out how to compare/match with the named ranges of
the pages.

Maybe you got an other solution on the shelf with an other approach?

Please, help me

/Regards



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Print selective pages - only if the pages's Rows.Hidden = False"

You can build your union progressively

for i = 1 to 10
bPrint = true
for each cell in Thisworkbook.Names(i).ReferestoRange
if cell.EntireRow.Hidden = True then
bPrint = False
exit for
end if
Next
if bPrint then
set rng1 = Thisworkbook.Names(i).ReferstoRange
if rng is nothing then
set rng = rng1
else
set rng = union(rng, rng1)
end if
end if
Next
if not rng is nothing then
Activesheet.PageSetup.PrintArea = rng.Address
End if

--
Regards,
Tom Ogilvy


"Marie J-son" wrote in message
...
Hi there,
I have a sheet with 25 pages, where the ranges of the pages are named
ranges. I have a different number of pages to print out, from only 3 to

all
25. I find that the solution should become like:

Sheet1.PageSetup.PrintArea = Sheet1.Range(Union(rng1, rng2, rng3,
...)).Address

But how to come there? In words:
Identify the pages with "Rows.hidden = False". If True, the name of the

page
should be added to an array.
After looping through the sheet, there is a array to add into the Union
formula

Am I right? If yes - how do I do this in vba? My weakest point in VBA is
Arrays, and I can't figure out how to compare/match with the named ranges

of
the pages.

Maybe you got an other solution on the shelf with an other approach?

Please, help me

/Regards





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I automatically hide "FALSE" rows? Kiley Excel Discussion (Misc queries) 14 March 12th 09 06:55 PM
Print "freeze panes" on succeeding pages? kdhelm Excel Discussion (Misc queries) 8 October 10th 08 12:38 AM
I need my Hidden Rows to stay hidden when I print the sheet. Rosaliewoo Excel Discussion (Misc queries) 2 July 20th 06 07:51 PM
Pages hidden with manual breaks still print D Poole Excel Discussion (Misc queries) 1 February 10th 06 02:43 PM
Print few rows with many colums so that rows wrap on printed pages usfgradstudent31 Excel Discussion (Misc queries) 1 October 20th 05 02:39 PM


All times are GMT +1. The time now is 10:02 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"