Hacer que el cambio de hojas no se vea

Tengo una macro que selecciona la Hoja1 tomo datos realizo cálculos y selecciono la Hoja2 para depositar ahí mis resultados, esto lo hago en forma iterativa mientras detecte datos en la Hoja1.

Alguien en alguna ocasión me comento que existe un método o propiedad para que el usuario no perciba este constante cambio entre una hoja y la otra, pero no le tome importancia. ¿Sabran cuál es este método o propiedad?

2 respuestas

Respuesta
1

Puedes hacer referencia a la hoja sin tener que cambiarte de hoja, por ejemplo, si tienes esto:

Sub SeleccionarHoja()
'Por.Dante Amor
    Sheets("Hoja1").Select
    Range("E15").Select
    Selection.Copy
    Sheets("Hoja2").Select
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Con referencia a las hojas, queda así:

Sub ReferenciarHoja()
'Por.Dante Amor
    Sheets("Hoja1").[E15].Copy
    Sheets("Hoja2").[D4].PasteSpecial xlValues
End Sub

Es menos código, no te cambias de hoja, por lo tanto no se ven los cambios de una hoja a otra, y la ejecución de la macro es más rápida.

Con referencia a las hojas, no es necesario que estés en la hoja1 o en la hoja2, puedes estar en cualquier hoja y la macro se ejecuta, incluso, puedes tener las 2 hojas ocultas.


Avísame si quieres que te ayude a adaptar tu macro, pon el código para ravisarlo.


Respuesta

Esto lo puedes lograr con este código

application.screenupdating=false

Te paso un ejemplo

http://www.programarexcel.com/2015/01/formulario-ingreso-y-egreso-de-stock.html 

Acá encontrarás cientos de ejemplos de macros que puedes descargar y aplicar adaptando a tus necesidades para automatizar hojas de excel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas