Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Setting print area
I am trying to set up a macro that sets the print area. I tried getting the
code by using "record new macro", and copying my keystrokes. I highlighted the area I want to print, and recorded the keystrokes from there. The macro came out to be: ActiveSheet.PageSetup.PrintArea = "$A$1:$G$35" However, the actual area will vary depending on the worksheet. How can I change this code to make the area = only what I have highlighted at the time I start the macro? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Setting print area
Hi,
Try this ActiveSheet.PageSetup.PrintArea = Selection.Address Mike "richzip" wrote: I am trying to set up a macro that sets the print area. I tried getting the code by using "record new macro", and copying my keystrokes. I highlighted the area I want to print, and recorded the keystrokes from there. The macro came out to be: ActiveSheet.PageSetup.PrintArea = "$A$1:$G$35" However, the actual area will vary depending on the worksheet. How can I change this code to make the area = only what I have highlighted at the time I start the macro? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Setting print area
Hi Richzip,
You can add 2 lines to your code to retrieve the current selection address and modify your code to reference the retrieved selection address. Dim rg As Range ' variable to hold the current selection Set rg = Selection ' get the range of the current selection ActiveSheet.PageSetup.PrintArea = rg.Address 'Complete working code: Sub SetPrintArea() 'Make sure selection is a Range object If TypeName(Selection) = "Range" Then 'Create rg variable and store the current selection address Dim rg As Range Set rg = Selection 'Set the print area ActiveSheet.PageSetup.PrintArea = rg.Address Else MsgBox "The current selection cannot be use to set as print area." End If End Sub Hong Quach "richzip" wrote: I am trying to set up a macro that sets the print area. I tried getting the code by using "record new macro", and copying my keystrokes. I highlighted the area I want to print, and recorded the keystrokes from there. The macro came out to be: ActiveSheet.PageSetup.PrintArea = "$A$1:$G$35" However, the actual area will vary depending on the worksheet. How can I change this code to make the area = only what I have highlighted at the time I start the macro? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Setting print area
Unless you are going to use the print range for other purposes, it is not
necessary to set it if you only want to print the selection. You can just use: Selection.PrintOUt It will only print the selected range. "richzip" wrote: I am trying to set up a macro that sets the print area. I tried getting the code by using "record new macro", and copying my keystrokes. I highlighted the area I want to print, and recorded the keystrokes from there. The macro came out to be: ActiveSheet.PageSetup.PrintArea = "$A$1:$G$35" However, the actual area will vary depending on the worksheet. How can I change this code to make the area = only what I have highlighted at the time I start the macro? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Setting Print Area | Excel Programming | |||
setting up the print area | Excel Programming | |||
setting print area | Excel Programming | |||
Setting the print area | Excel Programming | |||
Setting Print Area | Excel Programming |