Ayuda con macro

Tengo un libro de excel del cual quiero copiar todas las hojas excepto 2 a un nuevo libro, encontré esta macro de Luis Mondello

Sub copiar_hojas()
Dim hoja As Worksheet
milibro = ActiveWorkbook.Name
Workbooks.Add
otro = ActiveWorkbook.Name
Workbooks(milibro).Activate
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name <> "Hoja1" And hoja.Name <> "menu" Then
hoja.Copy after:=Workbooks(otro).Worksheets.Count
End If
Next
Workbooks(otro).Activate
ActiveWorkbook.SaveAs "libro_2"
ActiveWorkbook.Close False
End Sub

Pero me genera un error en hoja.copy after......

Las dos hojas que no quiero copiar son hoja1 y menu.

Igual que me permita seleccionar donde copiar y que nombre colocarle

Agradezco la ayuda.

1 respuesta

Respuesta
1

Modifica esa línea y escribe en su lugar esta:

hoja.Copy after:=Workbooks(otro).Worksheets(Workbooks(otro).Worksheets.count)

recuerda finalizar la consulta

Gracias Luis , perfecto, y que le agrego para que el usuario le pueda colocar el nombre al archivo y en que carpeta guardarlo.

Luis en el nuevo archivo queda hoja1,hoja2,hoja3 y después si siguen las del otro libro, como quito eso. que solo me queden las que paso del otro archivo.

Escribe estas líneas justo después de la línea que dice:

Workbooks(otro). Activate

for x=1 to 3
sheets(1).delete
next

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas