La barra di stato in Excel può essere utilizzata come monitor del codice. Quando il tuo codice VBA è lungo e svolgi diverse attività utilizzando VBA, spesso disabiliti l’aggiornamento dello schermo in modo da non vedere lo sfarfallio dello schermo. Ma a causa di ciò, non puoi sapere cosa sta succedendo nel tuo codice.

Se non sai dove si trova la barra di stato in Excel, eccola qui:

unnamed

È possibile utilizzare una barra di stato di Excel per ottenere informazioni da Excel senza interferire con l’esecuzione del codice. Puoi visualizzare le fasi del tuo Marco sulla barra di stato o usarlo come barra di avanzamento.

Codice VBA per visualizzare i messaggi sulla barra di stato di Excel

Application.StatusBar = "Message"

StatusBar è una proprietà dell’oggetto Application che accetta il testo come input.

In questo esempio, sto solo mostrando quale funzione è in esecuzione …​

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

In questo esempio, l’aggiornamento dello schermo è impostato su False all’inizio.

Ora, prima di chiamare la funzione_1, sto visualizzando un messaggio che sta chiamando la funzione uno.

Application.Wait (Now + TimeValue (“00: 00: 2”)) questa riga di codice serve solo per simulare una lunga chiamata di funzione in modo da avere 2 secondi per vederlo sulla barra di stato.

pasted image 0

L’ho fatto prima di tutte le chiamate di funzione e alla fine ho impostato la barra di stato su vuota (“”).

I messaggi della barra di stato sono molto utili per visualizzare i messaggi mentre si lavora con codice lungo. Quando il codice attraversa più fasi o esegue un ciclo lungo, è possibile visualizzarlo sulla barra di stato in modo che l’utente sappia che il codice è in esecuzione. In caso contrario, l’utente potrebbe pensare che il sistema si sia bloccato o qualcosa del genere.

Ora puoi ottenere in modo intelligente informazioni sulla barra di stato utilizzando VBA di Excel 2016, 2013, 2010 e 2007 utilizzando questa riga.

OLD POST

_ Alcune macro / codici vba richiedono molto tempo per eseguire o eseguire le azioni richieste. Se hai disattivato l’aggiornamento dello schermo utilizzando la riga Application.ScreenUpdating = False all’inizio del codice, se un utente esegue il codice, non saprà cosa sta succedendo e penserà che il sistema informatico non risponde. chiedere al codice di visualizzare un messaggio di stato sulla barra di stato in modo che l’utente sia informato sullo stato corrente del codice ._

Ecco un semplice codice che fornisce una finestra di messaggio che mostra i valori nella colonna A a partire dalla riga 2 fino all’ultima riga. La barra di stato mostrerà il messaggio “Macro in esecuzione” mentre il codice è in esecuzione, e una volta terminato il codice, mostrerà “Pronto”, che è uno dei messaggi Excel predefiniti.

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

Per copiare il codice sopra nel tuo file, * Premi Alt + F11 sulla tastiera.

  • Sul lato sinistro, vedrai gli oggetti di Microsoft Excel.

  • Fare clic con il tasto destro e selezionare Inserisci.

  • Quindi fare clic su Modulo.

  • Copia il codice nella finestra del codice a destra.

Puoi vedere il codice pubblicato nel modulo sottostante –

img1

Ora capiamo cosa fa ogni riga del codice – Quindi prima impostiamo DISPLAYSTATUSBAR su true e poi impostiamo il messaggio per la barra di stato. Una volta che usiamo _Application.StatusBar = “” _ alla fine del codice, tornerà a il messaggio Excel predefinito che è PRONTO.

Ecco un’immagine della barra di stato mentre la macro è in esecuzione.

img2

Dopo che la macro è terminata, la barra di stato mostrerà quanto segue –

img3

Allo stesso modo, puoi aggiornare la barra di stato in diverse parti del codice, in modo che l’utente sappia cosa sta succedendo mentre la macro è in esecuzione.

A volte, potrebbero esserci una o più macro che coprono più processi e questa barra di stato sarà utile per sapere in quale processo la macro ha raggiunto.

Se i nostri blog ti sono piaciuti, condividilo con i tuoi amici su Facebook. E anche tu puoi seguirci su Twitter e Facebook.

_ Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]_

Articoli popolari:

link: / keyboard-formula-shortcuts-50-excel-scorciatoie-per-aumentare-la-produttività [50 scorciatoie Excel per aumentare la produttività]

link: / formule-e-funzioni-introduzione-di-vlookup-funzione [Come usare la funzione CERCA.VERT in Excel]

link: / tips-countif-in-microsoft-excel [Come usare la funzione CONTA.SE in Excel]

link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]