¿ Por que parpadea cuando ejecuto la macro aun utilizando Application.ScreenUpdating = False/true ?

Cuando ejecuto la macro, hace como si se desplazara hacia abajo la hoja1 en la que me encuentro. Y no se si tiene que ver el hecho que fue una grabación la macro. ¿Se podrá evitar esto si se crea el código de manera manual, y como debería ser?

1 respuesta

Respuesta
1

Ho la Gonzalo y bienvenido a TodoExpertos.

Lo que sucede es que el proceso de insertar una celda es lento, porque tiene que desplazar todas las filas hacia abajo, por eso ves ese parpado.

Intenta lo siguiente:

Sub Macro2()
  Application.ScreenUpdating = False
  Sheets("Hoja2").Range("B2").Insert xlDown
  Sheets("Hoja2").Range("B2").Value = Sheets("Hoja1").Range("B2").Value
  Application.ScreenUpdating = True
End Sub

Si en lugar de insertar el dato, lo pones al final de los datos, es decir, en la primera celda disponible de arriba hacia abajo, será más rápido el proceso:

Sub Macro3()
  Sheets("Hoja2").Range("B" & Rows.Count).End(3)(2).Value = Sheets("Hoja1").Range("B2").Value
End Sub

Nota: En las siguientes publicaciones pon el código con el botón para insertar código:

¡Gracias! 

Probé las dos opciones que me diste y las dos me van muy bien,  

Te agradezco Dante.

Un abrazo.

Complacido de ayudarte, gra cias por comentar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas