Proprietà StatusBar VBA di Excel - Macro semplici di Excel

Sommario

Il Proprietà StatusBar dell'oggetto Application in Excel VBA può essere utilizzato per indicare lo stato di avanzamento di una macro lunga. In questo modo, puoi informare l'utente che una macro è ancora in esecuzione.

Situazione:

La macro che creeremo riempie l'intervallo ("A1: E20") con numeri casuali.

Aggiungi le seguenti righe di codice al pulsante di comando:

1. Innanzitutto, 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 ciclo.

Per i = da 1 a 20
Per j = da 1 a 5
Avanti j
Avanti io

Aggiungi le seguenti righe 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. Inizializzare 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 = "Importazione dati… " & pctCompl & "% completata"

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 macro lunga.

Applicazione.Attendi ora + 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:

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

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave