ActiveWorkbook.ActiveSheet.Copy

25/08/2008 - 20:42 por Diana | Informe spam
Con la instrucción expuesta abajo copio la hoja de cálculo activa a un libro
nuevo y rompo los vínculos.
Ahora bien, una de las hojas que necesito copiar contiene un listbox y
varios option buttons, por lo tanto la hoja contiene rutinas (varias
"private sub") y al copiar la hoja, se copia con sus rutinas en visual
basic.
1) Cómo hago para modificar este código expuesto abajo para lograr que copie
sólo la hoja activa sin las rutinas del list box y los option buttons??
Gracias



ActiveWorkbook.ActiveSheet.Copy
ActiveSheet.Name = "Hoja1"
Dim astrLinks As Variant
astrLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
If Not IsEmpty(astrLinks) Then
ActiveWorkbook.BreakLink _
Name:=astrLinks(1), _
Type:=xlLinkTypeExcelLinks

Preguntas similare

Leer las respuestas

#1 Abraham
25/08/2008 - 21:44 | Informe spam
Creo que un buen comienzo, es darse una "vueltita" por aqui:

http://www.cpearson.com/excel/vbe.htm

Abraham
Respuesta Responder a este mensaje
#2 Héctor Miguel
26/08/2008 - 04:36 | Informe spam
hola, Diana !

Con la instruccion expuesta abajo copio la hoja de calculo activa a un libro nuevo y rompo los vinculos.
Ahora bien, una de las hojas que necesito copiar contiene un listbox y varios option buttons
por lo tanto la hoja contiene rutinas (varias "private sub") y al copiar la hoja, se copia con sus rutinas en visual basic.
1) Como hago para modificar este codigo expuesto abajo para lograr que copie solo la hoja activa
sin las rutinas del list box y los option buttons??



al hacer un Worksheets(...).Copy la hoja copiada "va con todo" (o sea) lo que no quieras que permanezca...
o no debera estar en la hoja... o deberas removerlo despues de copiada
- quitarle formulas, no hay problema
- quitarle objetos incrustados, tampoco seria un problema (incluso los ActiveX)
- eliminar sus codigos en el modulo "de clase" ???... (aqui podrias encontrar "imponderables")

-> cambia de macros por "iguales" en un modulo de codigo estandar y EVITA los objetos incrustados con macros asignadas
y llamas a la macro por atajo de teclado o por los metodos "tradicionales" (Alt + F8... menu herramientas / macro / macros..)
y/o utiliza formularios para tus controles (en lugar de incrustarlos en las hojas)

saludos,
hector.
Respuesta Responder a este mensaje
#3 Diana
26/08/2008 - 05:24 | Informe spam
Gracias Héctor.
Una pregunta a tus respuestas:
Qué significa 'cambia de macros por "iguales" ??




"Héctor Miguel" escribió en el mensaje
news:
hola, Diana !

Con la instruccion expuesta abajo copio la hoja de calculo activa a un
libro nuevo y rompo los vinculos.
Ahora bien, una de las hojas que necesito copiar contiene un listbox y
varios option buttons
por lo tanto la hoja contiene rutinas (varias "private sub") y al
copiar la hoja, se copia con sus rutinas en visual basic.
1) Como hago para modificar este codigo expuesto abajo para lograr que
copie solo la hoja activa
sin las rutinas del list box y los option buttons??



al hacer un Worksheets(...).Copy la hoja copiada "va con todo" (o sea) lo
que no quieras que permanezca...
o no debera estar en la hoja... o deberas removerlo despues de copiada
- quitarle formulas, no hay problema
- quitarle objetos incrustados, tampoco seria un problema (incluso los
ActiveX)
- eliminar sus codigos en el modulo "de clase" ???... (aqui podrias
encontrar "imponderables")

-> cambia de macros por "iguales" en un modulo de codigo estandar y EVITA
los objetos incrustados con macros asignadas
y llamas a la macro por atajo de teclado o por los metodos
"tradicionales" (Alt + F8... menu herramientas / macro / macros..)
y/o utiliza formularios para tus controles (en lugar de incrustarlos en
las hojas)

saludos,
hector.

Respuesta Responder a este mensaje
#4 Héctor Miguel
26/08/2008 - 05:40 | Informe spam
hola, Diana !

Una pregunta a tus respuestas:
Qué significa 'cambia de macros por "iguales" ??



significa que en lugar de usar los procedimientos en el modulo de codigo de "las hojas"...
uses el mismo (tipo de) procedimiento (pero) en modulos de codigo estandar (o de formularios)
"estos" ultimos NO se van junto con el Worksheets(...).Copy

saludos,
hector.

__ OP __
al hacer un Worksheets(...).Copy la hoja copiada "va con todo" (o sea) lo que no quieras que permanezca...
o no debera estar en la hoja... o deberas removerlo despues de copiada- quitarle formulas, no hay problema
- quitarle objetos incrustados, tampoco seria un problema (incluso los ActiveX)
- eliminar sus codigos en el modulo "de clase" ???... (aqui podrias encontrar "imponderables")

-> cambia de macros por "iguales" en un modulo de codigo estandar y EVITA los objetos incrustados con macros asignadas
y llamas a la macro por atajo de teclado o por los metodos "tradicionales" (Alt + F8... menu herramientas / macro / macros..)
y/o utiliza formularios para tus controles (en lugar de incrustarlos en las hojas)
Respuesta Responder a este mensaje
#5 Diana
26/08/2008 - 13:16 | Informe spam
Comprendido. Gracias!!!


"Héctor Miguel" escribió en el mensaje
news:
hola, Diana !

Una pregunta a tus respuestas:
Qué significa 'cambia de macros por "iguales" ??



significa que en lugar de usar los procedimientos en el modulo de codigo
de "las hojas"...
uses el mismo (tipo de) procedimiento (pero) en modulos de codigo estandar
(o de formularios)
"estos" ultimos NO se van junto con el Worksheets(...).Copy

saludos,
hector.

__ OP __
al hacer un Worksheets(...).Copy la hoja copiada "va con todo" (o sea)
lo que no quieras que permanezca...
o no debera estar en la hoja... o deberas removerlo despues de copiada-
quitarle formulas, no hay problema
- quitarle objetos incrustados, tampoco seria un problema (incluso los
ActiveX)
- eliminar sus codigos en el modulo "de clase" ???... (aqui podrias
encontrar "imponderables")

-> cambia de macros por "iguales" en un modulo de codigo estandar y
EVITA los objetos incrustados con macros asignadas
y llamas a la macro por atajo de teclado o por los metodos
"tradicionales" (Alt + F8... menu herramientas / macro / macros..)
y/o utiliza formularios para tus controles (en lugar de incrustarlos
en las hojas)






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida