La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Excel/717508-MACRO-PARA-COPIAR-HOJAS.html

MACRO PARA COPIAR HOJAS

MACRO PARA COPIAR HOJAS

Publicado por ELTREMEN (28 intervenciones) el 16/11/2006 17:49:50
Necesito algo especial, en una hoja de excel comun y corriente tengo 2 hojas, hoja1 y hoja2. Quiero crear una macro que me permita copiar esas dos hojas y me las mande al final, despues de que yo haga cambios en esas nuevas hojas creadas no se si se pueda con la misma macro copiar esas nuevas hojas y mandarlas al final, como le hago creo varias macros o que puedo hacer
Imágen de perfil de Abraham Valencia

RE:MACRO PARA COPIAR HOJAS

Publicado por Abraham Valencia (2415 intervenciones) el 16/11/2006 18:28:57
Pues usa tu grabadora de macro, realiza los pasos que pides, y listo, ya tienes la macro.

Abraham

RE:MACRO PARA COPIAR HOJAS

Publicado por NO SE PUEDE (28 intervenciones) el 16/11/2006 18:50:39
No se hace, porque cuando quiero hacer otra copia despues, es decir volver a ejecutar la macro, las nuevas copias yo las quiero hasta el final, y me las pone despues de las hojas originales, y no despues de las copias de las originales
Imágen de perfil de Abraham Valencia

RE:MACRO PARA COPIAR HOJAS

Publicado por Abraham Valencia (2415 intervenciones) el 16/11/2006 19:00:22
Pues tienes razon, no me habia dado cuenta que la grabadora de macros no "captura" la opcion "mover al final". En todo caso, aqui va:

Sub copiar()
Sheets("Hoja1").Copy After:=Sheets(Sheets.Count)
Sheets("Hoja2").Copy After:=Sheets(Sheets.Count)
End Sub

Abraham

TE EXPLICARE A DETALLE

Publicado por ELTREMEN (28 intervenciones) el 16/11/2006 19:21:49
Mi libro consta de 2 hojas
Hoja1 y Hoja2
Quiero que la macro inicialmente me copie ambas hojas hasta el final de todas
quedaria Hoja1 Hoja2 Hoja1(1) Hoja2 (2), pero la macro que yo cree inicialmente me copia y hace esto, pero como indicarle que ahora ya no quiero copia de Hoja1 y Hoja2 sino de Hoja1(1) y Hoja2(2), y para que quede asi
Hoja1 Hoja2 Hoja1(1) Hoja2(2) Hoja1(2) Hoja2(2)

Como le hago, uso un modulo, o que hago
Imágen de perfil de Abraham Valencia

RE:TE EXPLICARE A DETALLE

Publicado por Abraham Valencia (2415 intervenciones) el 16/11/2006 21:43:55
Pon esto en un modulo y listo:

Sub copiar()
Worksheets(Worksheets.Count).Copy After:=Sheets(Sheets.Count)
Worksheets(Worksheets.Count - 2).Copy After:=Sheets(Sheets.Count)
End Sub

Abraham

RE:TE EXPLICARE A DETALLE

Publicado por ELTREMEN (28 intervenciones) el 17/11/2006 17:05:19
Ultima duda, lo que hace es esto
originalmente esta asi
hoja1 hoja2

cuando corro esa macro en dicho modulo hace esto
hoja1 hoja2 hoja2(2) hoja1(2)

y despues vuelvo a correrla
hoja1 hoja2 hoja2(2) hoja1(2) hoja1(3) hoja2(3) hoja2(4) hoja1(4)

habra algun modo de que esto quede asi
hoja1 hoja2 hoja1(1) hoja2(2) hoja1(3) hoja2(3) hoja1(4) hoja2(4)

MUCHISIMAS GRACIAS DE ANTEMANO

RE:MACRO PARA COPIAR HOJAS

Publicado por Adrian (1 intervención) el 22/11/2006 18:21:39
Te consulté por la numeración automática lo cual me enviaste un ejmplo ejm_fact_simple, en el cual me sirve. Ahora te pregunto como hago para que antes de limpiar los rangos, me copia la hoja en otro libro ó en el mismo.

Gracias