ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Please ammend or adivise re this easy print rountine (https://www.excelbanter.com/excel-programming/376319-please-ammend-adivise-re-easy-print-rountine.html)

James Cornthwaite

Please ammend or adivise re this easy print rountine
 
I'm fairly new to writing macros (only used JAVA before not VB). Please help


I want to write a macro to print all worksheets (first page for each only)
in a workbook

with the exception of worksheets called "import" and "client details".


I have made the following guess of how it should be written.

Please advise where I've gone wrong.
I don't know how to refer to the end of all worksheets in range or
how to refer to a worksheet name (guessed with application.name)

Many many thanks in anticipation

James


Sub Printing()
'
' Printing Macro


For i = 1 To ??end of all worksheets??

Sheets(i).Select

If (ActiveWindow.SelectedSheets.Application.Name = "import") Or
(ActiveWindow.SelectedSheets.Application.Name = "client details") Then
' do nothing
Else
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1,
Copies:=1, Collate:=True
End If

Next i

End Sub



Ron de Bruin

Please ammend or adivise re this easy print rountine
 
Try this James

Sub Printing()
Dim sh As Worksheet

For Each sh In ActiveWorkbook.Worksheets

If sh.Name = "import" Or sh.Name = "client details" Then
' do nothing
Else
sh.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End If

Next sh

End Sub

--
Regards Ron de Bruin
http://www.rondebruin.nl



"James Cornthwaite" wrote in message ...
I'm fairly new to writing macros (only used JAVA before not VB). Please help


I want to write a macro to print all worksheets (first page for each only) in a workbook

with the exception of worksheets called "import" and "client details".


I have made the following guess of how it should be written.

Please advise where I've gone wrong.
I don't know how to refer to the end of all worksheets in range or
how to refer to a worksheet name (guessed with application.name)

Many many thanks in anticipation

James


Sub Printing()
'
' Printing Macro


For i = 1 To ??end of all worksheets??

Sheets(i).Select

If (ActiveWindow.SelectedSheets.Application.Name = "import") Or (ActiveWindow.SelectedSheets.Application.Name = "client
details") Then
' do nothing
Else
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End If

Next i

End Sub




James Cornthwaite

Please ammend or adivise re this easy print rountine
 
brilliant, thanks !


"Ron de Bruin" wrote in message
...
Try this James

Sub Printing()
Dim sh As Worksheet

For Each sh In ActiveWorkbook.Worksheets

If sh.Name = "import" Or sh.Name = "client details" Then
' do nothing
Else
sh.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End If

Next sh

End Sub

--
Regards Ron de Bruin
http://www.rondebruin.nl



"James Cornthwaite" wrote in message
...
I'm fairly new to writing macros (only used JAVA before not VB). Please
help


I want to write a macro to print all worksheets (first page for each
only) in a workbook

with the exception of worksheets called "import" and "client details".


I have made the following guess of how it should be written.

Please advise where I've gone wrong.
I don't know how to refer to the end of all worksheets in range or
how to refer to a worksheet name (guessed with application.name)

Many many thanks in anticipation

James


Sub Printing()
'
' Printing Macro


For i = 1 To ??end of all worksheets??

Sheets(i).Select

If (ActiveWindow.SelectedSheets.Application.Name = "import")
Or (ActiveWindow.SelectedSheets.Application.Name = "client details") Then
' do nothing
Else
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1,
Copies:=1, Collate:=True
End If

Next i

End Sub







All times are GMT +1. The time now is 01:12 AM.

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