H o l a:
Si en el libro solamente hay 10 hojas y quieres copiar todas las hojas, puedes utilizar la siguiente macro. Te copia todas las hojas a un nuevo libro
Sub CopiarTodasLasHojas()
'Por.Dante Amor
Worksheets.Copy
End Sub
Pero si en el archivo tienes más hojas y quieres indicar cuáles hojas copiar, entonces utiliza la siguiente macro. Tienes que escribir en la instrucción Array los nombres de las hojas que quieres copiar.
Sub CopiarHojas()
'Por.Dante Amor
hojas = Array("Hoja1", "Hoja2", "Hoja3", "Hoja4", "Hoja5")
cad = ""
For h = LBound(hojas) To UBound(hojas)
existe = False
For Each whoja In Sheets
If UCase(whoja.Name) = UCase(hojas(h)) Then
existe = True
Exit For
End If
Next
If existe = False Then
cad = cad & hojas(h) & ", "
End If
Next
If cad = "" Then
Sheets(hojas).Copy
MsgBox "Hojas copiadas", vbInformation, "COPIAR HOJAS"
Else
MsgBox "Las siguientes hojas no existen: " & cad, vbCritical, "ERROR DE HOJAS"
End If
End Sub
La macro revisa los nombres de las hojas que pusiste en el Array, si alguna hoja no existe, entonces no copia las hojas y te envía un mensaje; si todas las hojas existen, entonces te copia las hojas a un nuevo libro.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias