If your objective is to print the sheets listed in non-hidden rows in a summary sheet, why do all that copying? This is a bit crude, but here's something you could try:
Sub printsheetsfromlist()
Dim rngNames As Range
Dim strGroup As String
Dim wks As Worksheet
Dim intC As Integer, intN As Integer, intS As Integer
Application.ScreenUpdating = False
Set wks = ThisWorkbook.ActiveSheet ' get active sheet
' get the non-hidden sheet names, assuming the list of sheets to be printed
' is in a sheet called "Sheetlist"
With ThisWorkbook.Worksheets("Sheetlist")
Set rngNames = .Range(.<!t>[A2]<!/t>, .<!t>[A65536]<!/t>.End(xlUp)).SpecialCells(xlCellTypeVisible)
End With
intN = rngNames.Cells.Count
' examine each sheet name for validity, add it to string
For intC = 1 To intN
On Error Resume Next
Worksheets(rngNames.Cells(intC, 1).Value).Select ' check that exists
If Not Err.Number Then
strGroup = strGroup & Chr(34) & rngNames.Cells(intC, 1).Value & Chr(34)
If intC < intN Then strGroup = strGroup & ", "
End If
Next intC
' ask for number of copies
intS = Application.InputBox(Prompt:="How many copies?", Default:="1", Type:=1)
' print the selected worksheets
ThisWorkbook.Worksheets(Array(strGroup)).PrintOut Copies:=intS
wks.Activate ' return to original active sheet
Application.ScreenUpdating = True
Set wks = Nothing
End Sub
It doesn't have all of your trimmings, such as setting the calc mode.

[/acronym] [acronym title="What up Dude?"]
[/acronym] UTC -7ąDS


