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á:

unnamed

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.

pasted image 0

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 –

img1

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.

img2

Una vez finalizada la macro, la barra de estado mostrará lo siguiente –

img3

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]