• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Tutorial Excel

Aprende Excel

Suscríbete a mi canal de Youtube

  • Inicio
  • Básico
  • Intermedio
  • Avanzado
  • Macros
  • Trucos
  • Curiosidades
  • Ejercicios

Evitar parpadeos al ejecutar macro

En muchas ocasiones, cuando ejecutamos una macro en Excel se producen parpadeos mientras se está ejecutando. Esto hace que la macro se ejecute más lentamente.

Esto es debido a que la pantalla se está refrescando continuamente durante la ejecución de cada instrucción que compone la macro. Por ello, cuando más instrucciones y más «grande» sea nuestra macro.

Además provoca una ejecución más molesta para el usuario, ya que está viendo, aunque de forma muy rápida, lo que está haciendo la macro mientras se está ejecutando.

Esto no es algo deseable cuando implantamos nuestra macro.

Pero esto lo podemos evitar muy fácilmente con la propiedad Application.ScreenUpdating .

Evitar parpadeos con Application.ScreenUpdating

La propiedad Application.ScreenUpdating es la que indica a la pantalla que se refresque después de cada instrucción de la macro. ç

Por tanto, lo que nos interesa es que antes de ingresar el código de la macro esta propiedad tenga el valor de FALSE (falso). Después del código de la macro volvemos a establecer el valor de TRUE (verdadero), para que se refresque la pantalla después de ejecutar todo el código de la macro.

evitar parpadeos

Las dos líneas a incluir en nuestro código son las siguientes:

  • Application.ScreenUpdating = False     (Esta linea desactiva el parpadeo de la pantalla)
  • Application.ScreenUpdating = True      (Esta linea activa el parpadeo de la pantalla)

Veámoslo con un ejemplo.

Evitar el parpadeo si nosotros estamos escribiendo el código de la macro

Cuando no estamos utilizando la grabadora de macros, sino que estamos escribiendo nosotros mismos el código, lo único que tenemos que hacer es ingresar las dos líneas de código relacionadas con la propiedad Application.ScreenUpdating.

Lo haríamos de la siguiente forma:

Sub NombreMacro()

Application.ScreenUpdating = False

Código de la macro…

Application.ScreenUpdating = True

End Sub

Evitar el parpadeo cuando hemos utilizado la grabadora de macros

Cuando hemos grabado la macro con la grabadora de macros, no tenemos la forma de ingresarle esas dos líneas de código mientras estamos grabando. Por lo tanto, después de haber grabado la macro deberemos modificarlas para insertarle las dos líneas que evitan el parpadeo.

Para ello, en la ficha Programador o Desarrollador seleccionaremos Macros.

Después seleccionamos la macro que nos interesa, y pincharemos en el botón Modificar.Se nos abrirá el código de la macro, por lo que lo único que debemos hacer es insertar las dos líneas señaladas en color verde.

Sub NombreMacro()

Application.ScreenUpdating = False

Código de la macro…

Application.ScreenUpdating = True

End Sub

 

Interacciones con los lectores

Comentarios

  1. francisco dice

    05/04/2019 a las 18:54

    Excelente articulo,me ayudo muchisimo al menos con las macros grabadas,gracias.

    Responder
  2. josé dice

    10/12/2019 a las 13:42

    Pedazo de aportación. Ya no me parpadea la pantalla al ejecutar mis macros. gracias!!

    Responder
  3. Felipe dice

    16/01/2020 a las 22:18

    Hola buen día, una consulta, he realizado mi grabador de macro para un filtro avanzado, pero al ejecutarla no me exporta nada, pero si lo hago manualmente sin macro si me exporta sin problema alguno, he revisado los nombre de cada uno y todo es lo mismo por eso que al hacerlo manual me trae los datos, pero al aplicar la macro grabada nada.

    Me puedes ayudar con eso..??
    Muchas gracias..!

    Responder
    • juan dice

      09/09/2020 a las 02:28

      Hola buenas, los filtros avanzados desde la hoja o desde una macro deben de empezarse desde la hoja activa y para que esto tenga efecto, antes de realizar el grabado del filtrado, debes seleccionar una celda del la hoja activa , osea desde donde iniciaras el filtrado para que la macro considere esa selecion como punto de partida.

      Responder
  4. Maria Solís dice

    10/02/2020 a las 20:19

    Eres lo máximo, con tu aporte me salvaste, gracias mil

    Responder
    • migmun10 dice

      11/02/2020 a las 18:19

      Muchas gracias. Me alegra que te sirviera. Un saludo

      Responder
  5. Marcos dice

    12/03/2020 a las 23:37

    En las macros de google drive no me funciona, o SIMPLEMENTE me indica error, es diferente el CÓDIGO?

    Responder
  6. Ovidio dice

    10/05/2020 a las 02:51

    Gracias por compartir excelente solucion

    Responder
    • Orlando dice

      23/05/2020 a las 07:18

      Excelente explicación, me funcionó en mi macro, muchas gracias!!

      Responder
  7. Orlando dice

    23/05/2020 a las 07:19

    Excelente explicación, me funcionó en mi macro, muchas gracias!!

    Responder
  8. jhon pico dice

    02/06/2020 a las 00:39

    Gracias, me resulto muy util.

    saludos

    Responder
  9. neidacs dice

    07/07/2020 a las 13:55

    Muy buen aporte! gracias

    Responder
  10. CESAR ZAPATA dice

    27/01/2021 a las 02:31

    Buenas TARDES, TIENEN EL CODIGO PARA LIBREOFFICE CALC?

    Responder
  11. edu dice

    02/02/2021 a las 06:04

    HolA!

    Qué tal. por alguna razón a pesar de colocar esa propiedad mantiene algún parpadeo, sabrás cuál podría ser la razón? tengo varias macros para una acción, pero todas tienen la propiedad.

    Gracias!

    Responder
  12. patricia dice

    03/03/2021 a las 17:03

    estoy en un access 2019, no puedo poner el codigo porque lo rechaza, al abrir el documento se ve horrible, ayuda por favor 🙁

    Responder
  13. Natanael Garcia dice

    01/07/2021 a las 01:45

    tengo una macro que actualiza, copia y pega, crea filtros, oculta celdas, oculta hojas y da formato a una matriz, ya agregue las lineas tal como lo indicas pero igual me sigue parpadeando.

    Responder
  14. eduardo padron dice

    29/11/2021 a las 14:12

    hola, tengo una macro grabada para hacer un sort, las macros las pongo en una hoja principal con sus botones, cuando corro la macro me marca en la hoja principal las colunmas a ordenar, probe tu recomendación pero lo sigue haciendo, alguna recomendación….

    Saludos y Gracias por tu atención

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral principal

Buscar

Entradas y Páginas Populares

  • Rellenar celdas vacías con ceros (sin y con macros)
    Rellenar celdas vacías con ceros (sin y con macros)
  • La evolución de las hojas de cálculo
    La evolución de las hojas de cálculo
  • Asociar imágenes a celdas en Excel
    Asociar imágenes a celdas en Excel
  • La función VERDADERO y FALSO
    La función VERDADERO y FALSO
  • Traducción de funciones de Excel: Inglés - Español; Español - Inglés
    Traducción de funciones de Excel: Inglés - Español; Español - Inglés

Síguenos

  • Facebook
  • Instagram
  • YouTube
  • TikTok
Para aprovechar al máximo el potencial de Excel. Desde un nivel básico hasta un nivel experto.

Ir al blog

Mi canal de Youtube

Contacto

No te pierdas las novedades

100% libre de spam.

Sobre mí                            Aviso legal                            Política de privacidad y cookies