Copiar 2 hojas de un libro que cuenta con mas de 100 hojas en un nuevo libro de excel con VBA

Necesito crear una macro que me permita copiar 2 hojas de un libro de Excel que cuenta con 100 hojas en un nuevo libro de Excel. Además, me dé la opción a donde deseo guardar el nuevo libro Excel.

1 respuesta

Respuesta
1

Desde el libro con las 100 hojas entrá al Editor de macros (con atajo ALT + F11), insertá un módulo y allí copiá esta macro:

Sub CopiaHoja()
'x Elsamatilde
'se busca la carpeta destino
Set Direc = Application.FileDialog(msoFileDialogFolderPicker)
If Direc.Show = 0 Then
    MsgBox "Proceso cancelado": Ruta = ""
    Exit Sub
End If
'guarda nombre de directorio
Ruta = Direc.SelectedItems(1)
nbre = "Copia_de_hojas"
'copio las hojas necesarias
hojasx = Array("Hoja2", "Hoja3")
Sheets(hojasx).Copy
'creamos un nuevo objeto Libro
Set wb = ActiveWorkbook
With wb
    'guardamos el libro en la misma carpeta y cuyo nombre es la hoja copiada
    .SaveAs Ruta & "\" & nbre & ".xlsx"  'ajustar si se trata de otra extensión
    'cerramos el nuevo libro
    .Close
End With
'se libera el objeto
Set wb = Nothing
End Sub

Leé los comentarios y ajustá nombre de hojas, nombre para el nuevo libro y su extensión que si no lleva macros puede quedar como xlsx.

Podrás ejecutarla desde el menú Macros o con algunas de las opciones que dejé explicadas en la sección Macros de mi sitio.

Sdos y si el tema queda resuelto no olvides valorar la respuesta (opciones: excelente o buena)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas