Cómo mostrar un mensaje en la barra de estado de Excel VBA Usando
La barra de estado en Excel se puede utilizar como monitor de código. Cuando su código VBA es extenso y realiza varias tareas usando VBA, a menudo deshabilita la actualización de la pantalla para que no vea que la pantalla parpadea. Pero debido a esto, no llega a saber qué está pasando en su código.
Si no sabe dónde está la barra de estado en Excel, aquí está:
Puede utilizar una barra de estado de Excel para obtener información de Excel sin interferir en la ejecución del código. Puede mostrar las etapas de su Marco en la barra de estado o usarlo como barra de progreso.
Código VBA para mostrar mensajes en la barra de estado de Excel
Application.StatusBar = "Message"
StatusBar es una propiedad del objeto Application que toma texto como entrada.
En este ejemplo, solo estoy mostrando qué función se está ejecutando …
Sub DisplayMessageOnStatusBar() Application.ScreenUpdating = False Application.StatusBar = "Calling function one " ' call function_1 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "Calling function two" 'Call function_2 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "Calling function Three" 'Call function_3 Application.Wait (Now + TimeValue("00:00:2")) Application.StatusBar = "" Application.ScreenUpdating = True End Sub
En este ejemplo, la actualización de la pantalla se establece en Falso al principio.
Ahora, antes de llamar a la función_1, estoy mostrando un mensaje que llama a la función uno.
Application.Wait (Now + TimeValue («00: 00: 2»)) esta línea de código es solo para falsificar una llamada de función larga para que tenga 2 segundos para ver esto en mi barra de estado.
Lo hice antes de todas las llamadas a funciones y al final, puse la barra de estado en blanco (“”).
Los mensajes de la barra de estado son bastante útiles para mostrar mensajes mientras se trabaja con un código extenso. Cuando su código pasa por múltiples etapas o ejecuta un ciclo largo, puede mostrarlo en la barra de estado para que el usuario sepa que el código se está ejecutando. De lo contrario, el usuario puede pensar que el sistema se ha colgado o algo así.
Ahora puede obtener información de manera inteligente en la barra de estado usando VBA de Excel 2016, 2013, 2010 y 2007 usando esta línea.
PUESTO ANTIGUO
Ciertas macros / códigos de vba tardan mucho en ejecutarse o ejecutar las acciones necesarias. Si ha desactivado la actualización de la pantalla usando la línea Application.ScreenUpdating = False al comienzo de su código, entonces si algún usuario ejecuta el código, no sabrá lo que está sucediendo y pensará que el sistema de la computadora no está respondiendo. pida al código que muestre un mensaje de estado en la barra de estado para que el usuario esté informado sobre el estado actual del código.
Aquí hay un código simple que da un cuadro de mensaje que muestra los valores en la columna A comenzando desde la fila 2 hasta la última fila. La barra de estado mostrará el mensaje «Macro en ejecución» mientras se ejecuta el código, y una vez que el código está listo, mostrará «Listo», que es uno de los mensajes predeterminados de Excel.
Option Explicit Sub macro1() Dim i As Long, lrow As Long Application.ScreenUpdating = False Application.DisplayAlerts = False Application.DisplayStatusBar = True With Worksheets(“Sheet1”) lrow = .Range(“A” & .Rows.Count).End(xlUp).Row For i = 2 to lrow Application.StatusBar = “Macro running” Msgbox .Range(“A” &i).Value Next i End With Application.StatusBar = “” Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Para copiar el código anterior a su archivo, * Presione Alt + F11 en el teclado.
-
En el lado izquierdo, verá Objetos de Microsoft Excel.
-
Haga clic derecho y seleccione Insertar.
-
Luego haga clic en Módulo.
-
Copie el código en la ventana de código de la derecha.
Puede ver el código publicado en el módulo a continuación –
Ahora entendamos lo que hace cada línea del código: primero establecemos DISPLAYSTATUSBAR en verdadero y luego configuramos el mensaje para la barra de estado. Una vez que usemos _Application.StatusBar = “” _ al final del código, volverá a el mensaje predeterminado de Excel que es LISTO.
Aquí hay una imagen de la barra de estado mientras se ejecuta la macro.
Una vez finalizada la macro, la barra de estado mostrará lo siguiente –
De manera similar, puede actualizar la barra de estado en diferentes partes del código, de modo que el usuario sepa qué está sucediendo mientras se ejecuta la macro.
A veces, puede haber una o más macros que cubran múltiples procesos y esta barra de estado será útil para saber a qué proceso ha llegado la macro.
Si te gustaron nuestros blogs, compártelo con tus amigos en Facebook. Y también puedes seguirnos en Twitter y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar, complementar o innovar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]
Artículos populares:
link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-your-productividad [50 accesos directos de Excel para aumentar su productividad]
link: / formulas-and-functions-introduction-of-vlookup-function [Cómo usar la función VLOOKUP en Excel]
link: / tips-countif-in-microsoft-excel [Cómo usar la función COUNTIF en Excel]
link: / excel-formula-and-function-excel-sumif-function [Cómo usar la función SUMIF en Excel]