/ / Proprietà VBA StatusBar di Excel

Proprietà VBA StatusBar di Excel

Il Proprietà StatusBar dell'oggetto Application in Excel VBA può essere usato per indicare il progresso di una lunga macro. In questo modo, puoi far sapere all'utente che una macro è ancora in esecuzione.

Situazione:

La macro che stiamo per creare riempie gamma ("A1: E20") con numeri casuali.

Esempio di proprietà StatusBar di Excel VBA

Aggiungere le seguenti righe di codice al pulsante di comando:

1. In primo luogo, dichiariamo tre variabili di tipo Integer, denominate i, j e pctCompl.

Dim i As Integer, j As Integer, pctCompl As Integer

2. Aggiungi un doppio anello.

For i = 1 To 20
    For j = 1 To 5

    Next j
Next i

Aggiungi le seguenti linee di codice (a 3, 4 e 5) al ciclo.

3. Utilizzare la funzione RandBetween per importare un numero casuale compreso tra 20 e 100.

Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)

4. Inizializza la variabile pctCompl. La seconda riga di codice scrive il valore della variabile pctCompl e del testo descrittivo nella barra di stato.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"

Esempio: per i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% è stato completato.

5. Usiamo il metodo Wait dell'oggetto Application per simulare una lunga macro.

Application.Wait Now + TimeValue("00:00:01")

6. Per ripristinare il testo predefinito della barra di stato, impostare la proprietà StatusBar su False (fuori dal ciclo).

Application.StatusBar = False

Risultato quando si fa clic sul pulsante di comando sul foglio:

Risultato VBA StatusBar di Excel VBA

Nota: puoi interrompere una macro in qualsiasi momento premendo Esc o Ctrl + Break. Per un approccio più visivo, vedere il nostro programma Indicatore di avanzamento.

Leggi anche: