Welcome to the Board!
Here's a great Print routine by John Walkenbach that will list all of your sheets in a list box and allow you to select the ones you want to print:
<font face=Calibri><SPAN style="color:#00007F">Sub</SPAN> SelectSheets()<br> <SPAN style="color:#007F00">' John Walkenbach</SPAN><br> <SPAN style="color:#007F00">' www.j-walk.com</SPAN><br> <SPAN style="color:#00007F">Dim</SPAN> i <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br> <SPAN style="color:#00007F">Dim</SPAN> TopPos <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br> <SPAN style="color:#00007F">Dim</SPAN> SheetCount <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Integer</SPAN><br> <SPAN style="color:#00007F">Dim</SPAN> PrintDlg <SPAN style="color:#00007F">As</SPAN> DialogSheet<br> <SPAN style="color:#00007F">Dim</SPAN> CurrentSheet <SPAN style="color:#00007F">As</SPAN> Worksheet<br> <SPAN style="color:#00007F">Dim</SPAN> cb <SPAN style="color:#00007F">As</SPAN> CheckBox<br> Application.ScreenUpdating = <SPAN style="color:#00007F">False</SPAN><br><br><SPAN style="color:#007F00">' Check for protected workbook</SPAN><br> <SPAN style="color:#00007F">If</SPAN> ActiveWorkbook.ProtectStructure <SPAN style="color:#00007F">Then</SPAN><br> MsgBox "Workbook is protected.", vbCritical<br> <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br><br><SPAN style="color:#007F00">' Add a temporary dialog sheet</SPAN><br> <SPAN style="color:#00007F">Set</SPAN> CurrentSheet = ActiveSheet<br> <SPAN style="color:#00007F">Set</SPAN> PrintDlg = ActiveWorkbook.DialogSheets.Add<br><br> SheetCount = 0<br><br><SPAN style="color:#007F00">' Add the checkboxes</SPAN><br> TopPos = 40<br> <SPAN style="color:#00007F">For</SPAN> i = 1 <SPAN style="color:#00007F">To</SPAN> ActiveWorkbook.Worksheets.Count<br> <SPAN style="color:#00007F">Set</SPAN> CurrentSheet = ActiveWorkbook.Worksheets(i)<br><SPAN style="color:#007F00">' Skip empty sheets and hidden sheets</SPAN><br> <SPAN style="color:#00007F">If</SPAN> Application.CountA(CurrentSheet.Cells) <> 0 And _<br> CurrentSheet.Visible <SPAN style="color:#00007F">Then</SPAN><br> SheetCount = SheetCount + 1<br> PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5<br> PrintDlg.CheckBoxes(SheetCount).Text = _<br> CurrentSheet.Name<br> TopPos = TopPos + 13<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br> <SPAN style="color:#00007F">Next</SPAN> i<br><br><SPAN style="color:#007F00">' Move the OK and Cancel buttons</SPAN><br> PrintDlg.Buttons.Left = 240<br><br><SPAN style="color:#007F00">' Set dialog height, width, and caption</SPAN><br> <SPAN style="color:#00007F">With</SPAN> PrintDlg.DialogFrame<br> .Height = Application.Max _<br> (68, PrintDlg.DialogFrame.Top + TopPos - 34)<br> .Width = 230<br> .Caption = "Select sheets to print"<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN><br><br><SPAN style="color:#007F00">' Change tab order of OK and Cancel buttons</SPAN><br><SPAN style="color:#007F00">' so the 1st option button will have the focus</SPAN><br> PrintDlg.Buttons("Button 2").BringToFront<br> PrintDlg.Buttons("Button 3").BringToFront<br><br><SPAN style="color:#007F00">' Display the dialog box</SPAN><br> CurrentSheet.Activate<br> Application.ScreenUpdating = <SPAN style="color:#00007F">True</SPAN><br> <SPAN style="color:#00007F">If</SPAN> SheetCount <> 0 <SPAN style="color:#00007F">Then</SPAN><br> <SPAN style="color:#00007F">If</SPAN> PrintDlg.Show <SPAN style="color:#00007F">Then</SPAN><br> <SPAN style="color:#00007F">For</SPAN> <SPAN style="color:#00007F">Each</SPAN> cb <SPAN style="color:#00007F">In</SPAN> PrintDlg.CheckBoxes<br> <SPAN style="color:#00007F">If</SPAN> cb.Value = xlOn <SPAN style="color:#00007F">Then</SPAN><br> Worksheets(cb.Caption).Activate<br> ActiveSheet.PrintOut<br><SPAN style="color:#007F00">' ActiveSheet.PrintPreview 'for debugging</SPAN><br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br> <SPAN style="color:#00007F">Next</SPAN> cb<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br> <SPAN style="color:#00007F">Else</SPAN><br> MsgBox "All worksheets are empty."<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br><br><SPAN style="color:#007F00">' Delete temporary dialog sheet (without a warning)</SPAN><br> Application.DisplayAlerts = <SPAN style="color:#00007F">False</SPAN><br> PrintDlg.Delete<br><br><SPAN style="color:#007F00">' Reactivate original sheet</SPAN><br> CurrentSheet.Activate<br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br></FONT>
Hope that helps,