One way that comes quickly to mind is this:
Create a new sheet named PrintSelector and hide it. Add these macros and
set appropriate shortcut keys:
Sub SelectSheets()
Dim ws As Worksheet
Sheets("PrintSelector").Visible = True
Sheets("PrintSelector").Activate
ActiveSheet.Unprotect
ActiveSheet.Cells.Clear
ActiveSheet.Cells.Locked = True
Range("A1").Select
For Each ws In Sheets
selection.Value = ws.Name
selection.Offset(1, 0).Select
Next
ActiveSheet.Protect
End Sub
Sub PrintSelectedSheets()
Dim aCell As Range
Sheets("PrintSelector").Visible = True
Sheets("PrintSelector").Activate
For Each aCell In selection
If Not IsEmpty(aCell.Value) Then
Sheets(aCell.Value).PrintPreview
End If
Next
ActiveSheet.Visible = False
End Sub
The first macro will unhide the PrintSelector sheet and create a list of the
sheet names and protect the sheet so your user can't change it. Then your
user can indicate which sheets to print by simply selecting the names of the
sheets (use Control and Shift to multi-select) and then calling the second
macro which will print the sheets and hide the selector list sheet. If you
want you can bind the second macro to a button on the sheet.
HTH
Dave Smith
Bob Reynolds said:
I have a workbook with about 41 worksheets in it. I have a need to use a
pull down menu or data form or anything that will work, to allow me to
select any one of the worksheets or all of them or any combination of them
to print. The user would select which to print with out having to go
individually by tab by tab.
Any help would be appreciated.]
Thanks
Bob Reynolds