Print group of sheets by VBA

K

kyoux

Hello, I am trying to select several sheets that correspond to some criteria in the VBA code, to print them all in once afterwards. This works if I put their name but I cannot solve when the names are in an array
1) that code work
arrayGuide = Array("sheet1", "sheet2", "sheet3
Sheets(arrayGuide).Selec
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=Tru
2) I would like to have the same by taking the name of the sheets to select from a table.
I've tried so many things that it would not be useful to paste my last finding here ;-

Thanks a lot for your time and help !
 
P

pikus

Try:

arrayGuide = Array("sheet1", "sheet2", "sheet3)
For x = LBound(arrayGuide) To UBound(arrayGuide)
Sheets(arrayGuide(x)).PrintOut Copies:=1, Preview:=True
Next x

I haven't tested this, but it works in theory. - Piku
 
T

Tom Ogilvy

Sub AATester4()
Dim bFirst As Boolean
bFirst = True
For Each sh In ThisWorkbook.Worksheets
If sh.Range("A1") = 1 Then
sh.Select bFirst
bFirst = False
End If
Next

End Sub

Change
if sh.Range("A1") = 1 then

to use your criteria for selecting sheets.

--
Regards,
Tom Ogilvy


kyoux said:
Hello, I am trying to select several sheets that correspond to some
criteria in the VBA code, to print them all in once afterwards. This works
if I put their name but I cannot solve when the names are in an array.
 
Top