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? |
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? |
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? |
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? |
All times are GMT +1. The time now is 09:11 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com