Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a routine that ultimately selects a range of cells that I want to use
for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
try something like the following: sub foo() dim rng as range with activesheet set rng=selection .PageSetup.PrintArea = rng.address .printout end with end sub -- Regards Frank Kabel Frankfurt, Germany Grace wrote: I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On my last post, I meant to use
F5:K10, not F5:g10. Sorry Grace "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
example of how to find the last row in a column
x=cells(rows.count,"a").end(xlup).row 'to use in range range("a1:g" & x) -- Don Guillett SalesAid Software "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Works nicely. Thanks Don, and Thomas.
Grace "Don Guillett" wrote in message ... example of how to find the last row in a column x=cells(rows.count,"a").end(xlup).row 'to use in range range("a1:g" & x) -- Don Guillett SalesAid Software "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
When I added option explicit, as many suggest I do, it says x is undefined.
How should it be defined? Thanks, Grace "Don Guillett" wrote in message ... example of how to find the last row in a column x=cells(rows.count,"a").end(xlup).row 'to use in range range("a1:g" & x) -- Don Guillett SalesAid Software "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi
you have to use Dim x for this. See the VBA help for 'Dim' -- Regards Frank Kabel Frankfurt, Germany Grace wrote: When I added option explicit, as many suggest I do, it says x is undefined. How should it be defined? Thanks, Grace "Don Guillett" wrote in message ... example of how to find the last row in a column x=cells(rows.count,"a").end(xlup).row 'to use in range range("a1:g" & x) -- Don Guillett SalesAid Software "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'd use:
Dim x As Long Long represents a whole number between -2,147,483,648 and 2,147,483,647. And that's enough for any row number (1 to 65536). You can look for "Data Type Summary" in VBA's help to see lots of different types. Grace wrote: When I added option explicit, as many suggest I do, it says x is undefined. How should it be defined? Thanks, Grace "Don Guillett" wrote in message ... example of how to find the last row in a column x=cells(rows.count,"a").end(xlup).row 'to use in range range("a1:g" & x) -- Don Guillett SalesAid Software "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace -- Dave Peterson |
#9
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Dave and Frank
"Dave Peterson" wrote in message ... I'd use: Dim x As Long Long represents a whole number between -2,147,483,648 and 2,147,483,647. And that's enough for any row number (1 to 65536). You can look for "Data Type Summary" in VBA's help to see lots of different types. Grace wrote: When I added option explicit, as many suggest I do, it says x is undefined. How should it be defined? Thanks, Grace "Don Guillett" wrote in message ... example of how to find the last row in a column x=cells(rows.count,"a").end(xlup).row 'to use in range range("a1:g" & x) -- Don Guillett SalesAid Software "Grace" wrote in message ... I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Thanks, Grace -- Dave Peterson |
#10
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Grüezi Grace
Grace schrieb am 11.06.2004 I have a routine that ultimately selects a range of cells that I want to use for printing. After highlighting that block, how do I define that range so that it is set as a print area. When I use record macro, even with relative references, it seems to only record the, say, six column range that was selected THIS time, such as F5:g10. Next time, with different data, the macro will find a longer or shorter same six-column range and I need code that knows that. Do you print in VBA? Then you could use the following: Selection.PrintOut -- Regards Thomas Ramel - MVP for Microsoft-Excel - [Win XP Pro SP-1 / xl2000 SP-3] |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Defining a print area in a macro | Excel Discussion (Misc queries) | |||
How do you set up a macro to reset the print area? | Excel Discussion (Misc queries) | |||
Pivot Table macro to set print area and print details of drill down data | Excel Discussion (Misc queries) | |||
Create a print macro that would automatically select print area? | Excel Worksheet Functions | |||
Macro to select the print area | Excel Programming |