ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   BeforePrint help (https://www.excelbanter.com/excel-programming/346041-beforeprint-help.html)

Rookie 1st class

BeforePrint help
 
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook.Sheets
N = WorkSheets("Cover").Range("MyPages").Value
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial Narrow,Regular""&8Page
&P of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door
hugs a few trees
End If
End With
End Sub

Works but only changes heading on active sheet. I want to change the header
on every sheet (5 or 9 depending).
I don't want to name the workbook as it may change. Path may change as well.
Do I need loop statement? Quite happy I got this far.
The P is actually [P] - [PAGES], is there a way to easily display these
hidden characters?

I found "VB help, with, control flow keyword summary", seems to help. Any
other suggested sources?
Thanks Lou

Nigel

BeforePrint help
 

Put a loop around the header set up as follows..........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial Narrow,Regular""&8Page&P
of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door hugs
a few trees
End If
Next

---
Cheers
Nigel

"Rookie 1st class" <Rookie1stClass@SpamThis wrote in message
...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook.Sheets
N = WorkSheets("Cover").Range("MyPages").Value
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial

Narrow,Regular""&8Page
&P of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door
hugs a few trees
End If
End With
End Sub

Works but only changes heading on active sheet. I want to change the

header
on every sheet (5 or 9 depending).
I don't want to name the workbook as it may change. Path may change as

well.
Do I need loop statement? Quite happy I got this far.
The P is actually [P] - [PAGES], is there a way to easily display these
hidden characters?

I found "VB help, with, control flow keyword summary", seems to help. Any
other suggested sources?
Thanks Lou




Nigel

BeforePrint help
 
Sorry did not change your code to set the header on the specific
sheet........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Range("A1") = 1 Then
wks.PageSetup.RightHeader = "&""Arial Narrow,Regular""&8Page&Pof " & N
Else
wks.PageSetup.RightHeader = "" '< Runs out back door hugs a few
trees
End If
Next



--
Cheers
Nigel



"Nigel" wrote in message
...

Put a loop around the header set up as follows..........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial

Narrow,Regular""&8Page&P
of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door

hugs
a few trees
End If
Next

---
Cheers
Nigel

"Rookie 1st class" <Rookie1stClass@SpamThis wrote in message
...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook.Sheets
N = WorkSheets("Cover").Range("MyPages").Value
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial

Narrow,Regular""&8Page
&P of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door
hugs a few trees
End If
End With
End Sub

Works but only changes heading on active sheet. I want to change the

header
on every sheet (5 or 9 depending).
I don't want to name the workbook as it may change. Path may change as

well.
Do I need loop statement? Quite happy I got this far.
The P is actually [P] - [PAGES], is there a way to easily display these
hidden characters?

I found "VB help, with, control flow keyword summary", seems to help.

Any
other suggested sources?
Thanks Lou






Rookie 1st class

BeforePrint help
 
Thanks Nigel
I think this is beginning to make sense.
Lou

"Nigel" wrote:

Sorry did not change your code to set the header on the specific
sheet........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Range("A1") = 1 Then
wks.PageSetup.RightHeader = "&""Arial Narrow,Regular""&8Page&Pof " & N
Else
wks.PageSetup.RightHeader = "" '< Runs out back door hugs a few
trees
End If
Next



--
Cheers
Nigel



"Nigel" wrote in message
...

Put a loop around the header set up as follows..........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial

Narrow,Regular""&8Page&P
of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door

hugs
a few trees
End If
Next

---
Cheers
Nigel

"Rookie 1st class" <Rookie1stClass@SpamThis wrote in message
...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook.Sheets
N = WorkSheets("Cover").Range("MyPages").Value
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial

Narrow,Regular""&8Page
&P of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door
hugs a few trees
End If
End With
End Sub

Works but only changes heading on active sheet. I want to change the

header
on every sheet (5 or 9 depending).
I don't want to name the workbook as it may change. Path may change as

well.
Do I need loop statement? Quite happy I got this far.
The P is actually [P] - [PAGES], is there a way to easily display these
hidden characters?

I found "VB help, with, control flow keyword summary", seems to help.

Any
other suggested sources?
Thanks Lou







Rookie 1st class

BeforePrint help
 
Final:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Add Header Macro
N = WorkSheets("Cover").Range("MyPages").Value
Dim wks As Worksheet
For Each wks In ActiveWorkbook.WorkSheets
If wks.Range("A1") = 1 Then
wks.PageSetup.RightHeader = "&""Arial Narrow,Regular"_
"&8Page &P of " & N
Else
wks.PageSetup.RightHeader = ""
End If
Next
End Sub

It works PERFECTLY ... WOOHOO!!!
Thanks again to both you and Tom
Health and Happiness Lou

"Rookie 1st class" wrote:

Thanks Nigel
I think this is beginning to make sense.
Lou

"Nigel" wrote:

Sorry did not change your code to set the header on the specific
sheet........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If wks.Range("A1") = 1 Then
wks.PageSetup.RightHeader = "&""Arial Narrow,Regular""&8Page&Pof " & N
Else
wks.PageSetup.RightHeader = "" '< Runs out back door hugs a few
trees
End If
Next



--
Cheers
Nigel



"Nigel" wrote in message
...

Put a loop around the header set up as follows..........

Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial

Narrow,Regular""&8Page&P
of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door

hugs
a few trees
End If
Next

---
Cheers
Nigel

"Rookie 1st class" <Rookie1stClass@SpamThis wrote in message
...
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveWorkbook.Sheets
N = WorkSheets("Cover").Range("MyPages").Value
If Range("A1") = 1 Then
ActiveSheet.PageSetup.RightHeader = "&""Arial
Narrow,Regular""&8Page
&P of " & N
Else
ActiveSheet.PageSetup.RightHeader = "" '< Runs out back door
hugs a few trees
End If
End With
End Sub

Works but only changes heading on active sheet. I want to change the
header
on every sheet (5 or 9 depending).
I don't want to name the workbook as it may change. Path may change as
well.
Do I need loop statement? Quite happy I got this far.
The P is actually [P] - [PAGES], is there a way to easily display these
hidden characters?

I found "VB help, with, control flow keyword summary", seems to help.

Any
other suggested sources?
Thanks Lou







All times are GMT +1. The time now is 03:40 AM.

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