Public Sub PrintWorksheets2() 'declare variables and assign address Dim intPrint As Integer, intCount As Integer, wkbHours As Workbook, shtCurrent As Worksheet Set wkbHours = Application.Workbooks("t9-ex-e9.xls") 'ask user if he or she wants to print the worksheet shtCurrent = wkbHours For intCount = 1 To wkbHours.Worksheets.Count intPrint = MsgBox(prompt:="Print " & shtCurrent.Name & "?", Buttons:=vbYesNo + vbExclamation) If intPrint = vbYes Then 'if user wants to print shtCurrent.PrintPreview End If Next intCount End Sub