Cuando ejecuta una macro en Excel, el programa dedica toda su atención a completar la macro. (Suena casi antropomórfico, ¿no es así?) Esto significa que si la macro realiza un procesamiento bastante pesado de sus datos, puede parecer que su sistema se ha «bloqueado» durante el procesamiento de la macro.

Sin embargo, tenga la seguridad de que el procesamiento de macros solo afecta a Excel.

Puede abrir una aplicación diferente y trabajar con ella mientras la macro se fragmenta en Excel en segundo plano. Por supuesto, la atención que preste su sistema a la macro probablemente ralentizará la respuesta del otro programa, pero esto depende de la versión de Windows que esté utilizando en su sistema. ¿La razón? Compartir recursos requiere un proceso conocido como multitasking. Las diferentes versiones de Windows manejan la multitarea de diferentes maneras.

Quizás se pregunte cómo puede hacer otro trabajo en Excel mientras el programa está ocupado ejecutando una macro. Fácil: simplemente abra otra instancia de Excel (ejecútela de nuevo desde el menú Inicio) y realice algún otro trabajo. Todo lo que necesita hacer es asegurarse de no intentar trabajar en el mismo libro de trabajo (o libros de trabajo) que utilizan las macros en su primera instancia de Excel.

Otra forma de trabajar un poco es modificar un poco la macro.

Es muy probable que si su macro se está ejecutando durante un período prolongado, se deba a que esté ejecutando un bucle de algún tipo. Al agregar dentro del ciclo el comando DoEvents, la macro suspenderá la ejecución temporalmente y devolverá el control a los procesos del usuario. Entonces, si presionó una tecla, hizo clic con el mouse o comenzó a escribir algo, DoEvents se da cuenta y realiza las tareas necesarias para manejar lo que desea que se haga.

Cuando todas las entradas del usuario han sido atendidas, la macro continúa felizmente en su camino.

Agregar DoEvents ralentiza un poco su macro, pero le permite continuar trabajando un poco. (Comprenda que Excel seguirá siendo lento; su macro requiere recursos para ejecutarse). Agregar DoEvents también puede brindar una oportunidad para salir de la macro (usando Ctrl + Break) de manera controlada.

Sin embargo, recuerde que solo puede descubrir qué funciona mejor en su situación mediante pruebas (y más pruebas).

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (8971) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Running_Macros_in_the_Background [Ejecutar macros en segundo plano].