ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Setting a variable print area (https://www.excelbanter.com/excel-programming/298912-setting-variable-print-area.html)

CDB

Setting a variable print area
 
I am trying to write a macro that will set a print area within a sheet. I have tried to record a macro to set it to a selection using shift, control and the arrow keys (as in how you highlight a range of cells), but when I set the print area it sets it to the actual cells, so if the selection changes, the print area won't

Is there any way of doing this, bearing in mind that the selection needed to print will change each time?

Frank Kabel

Setting a variable print area
 
Hi
you may post your existing code :-)

--
Regards
Frank Kabel
Frankfurt, Germany


cdb wrote:
I am trying to write a macro that will set a print area within a
sheet. I have tried to record a macro to set it to a selection using
shift, control and the arrow keys (as in how you highlight a range of
cells), but when I set the print area it sets it to the actual cells,
so if the selection changes, the print area won't!

Is there any way of doing this, bearing in mind that the selection
needed to print will change each time?



CDB

Setting a variable print area
 
Below is a copy of what I have so far

Sub PrintDailyList(

Range("A1:A2").Selec
Range(Selection, Selection.End(xlToRight)).Selec
Range(Selection, Selection.End(xlDown)).Selec
Range(Selection, Selection.End(xlDown)).Selec
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$250
With ActiveSheet.PageSetu
.LeftHeader = "
.CenterHeader = "
.RightHeader = "
.LeftFooter = "
.CenterFooter = "
.RightFooter = "
.LeftMargin = Application.InchesToPoints(0.75
.RightMargin = Application.InchesToPoints(0.75
.TopMargin = Application.InchesToPoints(1
.BottomMargin = Application.InchesToPoints(1
.HeaderMargin = Application.InchesToPoints(0.5
.FooterMargin = Application.InchesToPoints(0.5
.PrintHeadings = Fals
.PrintGridlines = Fals
.PrintComments = xlPrintNoComment
.PrintQuality = 60
.CenterHorizontally = Fals
.CenterVertically = Fals
.Orientation = xlPortrai
.Draft = Fals
.PaperSize = xlPaperA
.FirstPageNumber = xlAutomati
.Order = xlDownThenOve
.BlackAndWhite = Fals
.Zoom = 10
End Wit
'ActiveWindow.SelectedSheets.PrintPrevie
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=Tru

----- Frank Kabel wrote: ----

H
you may post your existing code :-

-
Regard
Frank Kabe
Frankfurt, German


cdb wrote
I am trying to write a macro that will set a print area within
sheet. I have tried to record a macro to set it to a selection usin
shift, control and the arrow keys (as in how you highlight a range o
cells), but when I set the print area it sets it to the actual cells
so if the selection changes, the print area won't
Is there any way of doing this, bearing in mind that the selectio

needed to print will change each time




Frank Kabel

Setting a variable print area
 
Hi
try the following to always print your current selection:

Sub PrintDailyList()
dim rng as range
set rng = selection
With ActiveSheet.PageSetup
.PrintArea = rng.address
end with
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
end sub


--
Regards
Frank Kabel
Frankfurt, Germany


cdb wrote:
Below is a copy of what I have so far:

Sub PrintDailyList()

Range("A1:A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$250"
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.75)
.RightMargin = Application.InchesToPoints(0.75)
.TopMargin = Application.InchesToPoints(1)
.BottomMargin = Application.InchesToPoints(1)
.HeaderMargin = Application.InchesToPoints(0.5)
.FooterMargin = Application.InchesToPoints(0.5)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
End With
'ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

----- Frank Kabel wrote: -----

Hi
you may post your existing code :-)

--
Regards
Frank Kabel
Frankfurt, Germany


cdb wrote:
I am trying to write a macro that will set a print area within

a sheet. I have tried to record a macro to set it to a
selection using shift, control and the arrow keys (as in how
you highlight a range of cells), but when I set the print area
it sets it to the actual cells, so if the selection changes,
the print area won't! Is there any way of doing this, bearing
in mind that the selection needed to print will change each
time?



CDB

Setting a variable print area
 
Cheers, I'll give that a go

----- Frank Kabel wrote: ----

H
try the following to always print your current selection

Sub PrintDailyList(
dim rng as rang
set rng = selectio
With ActiveSheet.PageSetu
.PrintArea = rng.addres
end wit
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=Tru
end su


-
Regard
Frank Kabe
Frankfurt, German


cdb wrote
Below is a copy of what I have so far
Sub PrintDailyList(
Range("A1:A2").Selec

Range(Selection, Selection.End(xlToRight)).Selec
Range(Selection, Selection.End(xlDown)).Selec
Range(Selection, Selection.End(xlDown)).Selec
ActiveSheet.PageSetup.PrintArea = "$A$1:$D$250
With ActiveSheet.PageSetu
.LeftHeader = "
.CenterHeader = "
.RightHeader = "
.LeftFooter = "
.CenterFooter = "
.RightFooter = "
.LeftMargin = Application.InchesToPoints(0.75
.RightMargin = Application.InchesToPoints(0.75
.TopMargin = Application.InchesToPoints(1
.BottomMargin = Application.InchesToPoints(1
.HeaderMargin = Application.InchesToPoints(0.5
.FooterMargin = Application.InchesToPoints(0.5
.PrintHeadings = Fals
.PrintGridlines = Fals
.PrintComments = xlPrintNoComment
.PrintQuality = 60
.CenterHorizontally = Fals
.CenterVertically = Fals
.Orientation = xlPortrai
.Draft = Fals
.PaperSize = xlPaperA
.FirstPageNumber = xlAutomati
.Order = xlDownThenOve
.BlackAndWhite = Fals
.Zoom = 10
End Wit
'ActiveWindow.SelectedSheets.PrintPrevie
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=Tru
----- Frank Kabel wrote: ----
H

you may post your existing code :-
-

Regard
Frank Kabe
Frankfurt, German
cdb wrote

I am trying to write a macro that will set a print area withi

a sheet. I have tried to record a macro to set it to
selection using shift, control and the arrow keys (as in ho
you highlight a range of cells), but when I set the print are
it sets it to the actual cells, so if the selection changes
the print area won't! Is there any way of doing this, bearin
in mind that the selection needed to print will change eac
time





All times are GMT +1. The time now is 12:27 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com