Proceso de comandos sin moverse por las hojas.-

31/07/2008 - 17:34 por JC | Informe spam
Hola Amigos:

Hace algún tiempo, vi en este mismo foro, una forma de que las macros
realizarán el proceso de los comandos, pero sin moverse por las hojas.
Me intento explicar... Tengo macros, donde realizo "copy&paste" de unas
hojas a otras de diferetes rangos, incluso de borrado y pegado de la hojas
enteras, con filtrado de columnas. Y al ejecutar las macros (botón), empieza
un viaje de "pantallazos" por todas las hojas que menciona la macro, lo que
también me da la sensación de una demora en el resultado... que tarda más por
tener que ir de una hoja a otra, vaya...

Espero haberme explicado con claridad y que me podais ayudar una vez más.
Si necesitais que os ponga parte de una macro o un ejemplo, no dejeis de
comentarmelo, por favor.

Espero que me sepais disculpar, por si es una consulta muy banal y habitual
y por las posibles molestias.

Recibid un agradecido saludo.

JC
 

Leer las respuestas

#1 JC
31/07/2008 - 18:10 | Informe spam
Genial Isaac,

Muchas gracias... Lo malo es que soy de natural "bastante" torpe.
Serías tan amable, por favor, de en la siguiente macro de ejemplo, donde
iría cada uno de estos valores y como se escribirían, para que pasara de la
hoja "EJE" a la hoja de "SUB_EJE", sin el "meneo" de pantallazos.

Mil gracias y recibe un abrazo

JC
Sub EJE()

Sheets("EJE").Select
ActiveSheet.Select
Selection.Copy
Sheets("DATO").Select
Range("AA1").Select
ActiveSheet.Paste
Sheets("EJE").Select
Range("I3:I11").Select
Selection.Copy
Sheets("SUB_EJE").Select
Range("I3:I11").Select
ActiveSheet.Paste
Sheets("SUCIO").Select
Range("I15").Select
Selection.Copy
Sheets("EJE").Select
Range("B5").Select
ActiveSheet.Paste
Sheets("DATO").Select
Range("AA1").Select
Selection.Copy
Sheets("SUB_EJE").Select
Range("I8").Select
ActiveSheet.Paste
Sheets("EJE").Select
Range("F3:G11").Select
Selection.Copy
Range("B5").Select
Sheets("SUB_EJE").Select
Range("F3:G11").Select
ActiveSheet.Paste
BORRAR

Cells.Select
Application.CutCopyMode = False
Selection.AutoFilter
Range("L1").Select
ActiveWindow.LargeScroll ToRight:=1

Selection.AutoFilter Field:, Criteria1:=Range("AA1"), Operator:=xlAnd

Range("N:N").Select
Selection.Copy
Sheets("SUCIO").Select
Range("A:A").Select
ActiveSheet.Paste
Selection.AdvancedFilter Action:=xlFilterCopy, Unique:=True
Range("B6:B60").Select
Selection.Copy
Range("A1").Select
Sheets("SUB_EJE").Select
Range("N:N").Select
ActiveSheet.Paste
DATO_2
Sheets("SUB_EJE").Select
Range("B5").Select

End Sub

"Isaac Gomez" escribió:

Lo que en lo personal he realizado es hacer que el valor ScreenUpdating de
la aplicación sea False en tanto se realiza la operación, solo recuerda que
al finalizar el "cambiadero" de hojas, el valor debe de ser devuelto a True
para que se pueda actualizar correctamente.

Espero que esto te ayude.
Saludos.

"JC" escribió en el mensaje de noticias
news:
> Hola Amigos:
>
> Hace algún tiempo, vi en este mismo foro, una forma de que las macros
> realizarán el proceso de los comandos, pero sin moverse por las hojas.
> Me intento explicar... Tengo macros, donde realizo "copy&paste" de unas
> hojas a otras de diferetes rangos, incluso de borrado y pegado de la hojas
> enteras, con filtrado de columnas. Y al ejecutar las macros (botón),
> empieza
> un viaje de "pantallazos" por todas las hojas que menciona la macro, lo
> que
> también me da la sensación de una demora en el resultado... que tarda más
> por
> tener que ir de una hoja a otra, vaya...
>
> Espero haberme explicado con claridad y que me podais ayudar una vez más.
> Si necesitais que os ponga parte de una macro o un ejemplo, no dejeis de
> comentarmelo, por favor.
>
> Espero que me sepais disculpar, por si es una consulta muy banal y
> habitual
> y por las posibles molestias.
>
> Recibid un agradecido saludo.
>
> JC

Preguntas similares