VBA – Desactivar la actualización de la pantalla

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on agosto 22, 2022

Por muy bonito que parezca ver a tu macro VBA manipular la pantalla, puedes ayudar a que tu macro se ejecute más rápido si desactivas (deshabilitas) ScreenUpdating.

Desactivar ScreenUpdating

1. Para deshabilitar ScreenUpdating, al principio de su código ponga esta línea:

Application.ScreenUpdating = False

Habilitar ScreenUpdating

2. Para volver a habilitar ScreenUpdating, al final de su código ponga esta línea

Application.ScreenUpdating = True

Ejemplo de VBA ScreenUpdating

Su procedimiento se verá así:

Sub Ejemplo_ScreenUpdating()


    Application.ScreenUpdating = False

    'Hacer algo
    Rango("a1").Copiar Rango("b1")
    Range("a2").Copiar Range("b2")
    Range("a3").Copiar Range("b3")


    Application.ScreenUpdating = True
End Sub

Ejemplo ScreenUpdating

 

Refrescar ScreenUpdating

Desactivar ScreenUpdating hará que su código VBA se ejecute MUCHO más rápido, pero también hará que su trabajo parezca más profesional. Los usuarios finales normalmente no quieren ver las acciones detrás de escena de sus procedimientos (especialmente cuando el procedimiento se ejecuta lentamente). Además, es posible que usted no quiera que los usuarios finales vean la funcionalidad entre bastidores (por ejemplo, las hojas de trabajo ocultas). Recomiendo desactivar (y volver a activar) ScreenUpdating en prácticamente todos sus procedimientos.

Sin embargo, hay algunas ocasiones en las que se desea que la pantalla se actualice. Para refrescar la pantalla, tendrá que volver a activar temporalmente ScreenUpdating (no hay un comando de «refrescar» la pantalla):

   Application.ScreenUpdating = True
    'Hacer algo
   Application.ScreenUpdating = False

Ajustes VBA – Acelerar el código

Hay varias otras configuraciones con las que puede jugar para mejorar la velocidad de su código.

Desactivar los cálculos automáticos puede suponer una GRAN diferencia en la velocidad:

Application.Calculation = xlManual

Desactivar la Barra de Estado también hará una pequeña diferencia:

Application.DisplayStatusBar = False

Si su libro de trabajo contiene eventos, normalmente debería desactivar los eventos al principio de su procedimiento:

Application.EnableEvents = False

Por último, su código VBA puede ralentizarse cuando Excel intenta recalcular los saltos de página (Nota: no todos los procedimientos se verán afectados). Para desactivar la visualización de los saltos de página utilice esta línea de código:

ActiveSheet.DisplayPageBreaks = False

La codificación VBA es fácil

Deje de buscar código VBA en línea. Aprenda más sobre AutoMacro – Un generador de código VBA que permite a los principiantes codificar procedimientos desde cero con un mínimo conocimiento de codificación y con muchas características que ahorran tiempo a todos los usuarios VBA Turn Off On ScreenUpdating

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples