Saltar al contenido

Macro de copiar hojas en nuevo libro


Recommended Posts

publicado

Buenos días amigos, necesito una gran ayuda. Debo crear un macro que haga lo siguiente:

1.- Desde un libro X, copie las hojas de un libro Y y cree un libro Z con solo esas hojas sin los macros que estas contengan en una carpeta A.

2.- También quería saber si era posible crear ese macro pero que las hojas que copiara sean del libro que escriba en una celda 1.

3.- Si es posible también que el título del libro que nuevo que se creará en la carpeta A y con las hojas del libro que escribi en una celda 1, se le pueda poner como título la fecha actual de la pc.

Gracias por todo y espero me puedan ayudar con cualquiera de estos 3 puntos o si es posible con los 3.

publicado

Hola germones

Bienvenido al foro (por cierto revisa las normas)

Todo lo que quiers hacer es factible. Te recomiendo que pongas en marcha la grabadora de macros y ejecutes las operaciones que enumeras manualmente. Una vez finalizadas para la grabadora y revisa el código creado. A partir de ahí (y subiendo un pequeño ejemplo de tu archivo) se te podrá ir ayudando.

Un saludo desde Vitoria

publicado

Buenos días ioyama, disculpa soy nuevo y de verdad no había leído las normas, si puedes me gustaría saber si rompí alguna para corregirlo.

Llevo avanzado este macro:

Workbooks("Ejemplo").Sheets(Array("a", "b", "c")).Copy

Esto me permite crear un libro nuevo con las hojas a, b y c que copie del libro Ejemplo. Lo que me gustaría hacer son varias cosas, por ejemplo que el titulo del libro que se cree sea el de la fecha actual de la pc, y que se cree y guarde en la carpeta que yo le diga. Tambien si es posible que el libro que se crea con estas especificaciones se cree sin los macros y los botones comandos.

Gracias y ojala puedas ayudarme.

publicado

Gracias ioyama, fué de gran ayuda tu macro, lo modifique de esta forma:

Sub Informe()

hoja = InputBox("XXXXXXXX", "HOJA", "ej. Hoja1")

If hoja = "" Then Exit Sub

ruta = "C:\Archivos de programa\Archivos comunes\GSRR.doc\Trabajo\"

Sheets(hoja).Copy

ano = Right(Year(Now), 2)

mes = Month(Now)

If mes < 10 Then mes = "0" & mes

dia = Day(Now)

If dia < 10 Then dia = "0" & dia

nom = mes & -dia & -ano

ActiveWorkbook.SaveAs Filename:=ruta & nom & ".xlsx"

ActiveWindow.Close

End Sub

De esta manera el graba el documento en una carpeta fija que yo le indique. También modifique el nombre para que la fecha quedara separada por un "-". Tengo un par detalles que quería comentarte. Hay alguna manera de que se copie la hoja sin el botón del comando? Como puedo modificar el macro para que me copie dos o tres hojas en vez de solo una? Lo intente pero no pude hacerlo funcionar.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.