Barra di avanzamento VBA - Crea un grafico a barre di avanzamento utilizzando il codice VBA

Barra di avanzamento VBA di Excel in Excel

La barra di avanzamento è qualcosa che ci mostra quanto di un processo è stato fatto o terminato quando eseguiamo grandi set di codici che richiedono un tempo maggiore per l'esecuzione, utilizziamo la barra di avanzamento in VBA per mostrare all'utente lo stato del processo o se lo facciamo avere più processi in esecuzione in un unico codice usiamo la barra di avanzamento per mostrare quale processo è progredito di quanto.

Una barra di avanzamento mostra la percentuale di attività completate quando l'attività effettiva è in esecuzione dietro lo schermo con una serie di istruzioni fornite dal codice.

Quando l'esecuzione del codice VBA richiede una notevole quantità di tempo, è l'ansia dell'utente sapere quanto presto può finire. Per impostazione predefinita, dobbiamo attendere il tempo pieno per completare l'attività, ma inserendo la barra di avanzamento, conosciamo lo stato di avanzamento del codice VBA.

In quasi tutti i software per computer, vediamo un grafico a barre di avanzamento che mostra lo stato di avanzamento dell'attività che stiamo eseguendo proprio come l'immagine sottostante.

In Excel possiamo creare la barra di avanzamento utilizzando la codifica VBA. Se ti sei mai chiesto come possiamo creare una barra di avanzamento, allora questo è l'articolo su misura per te.

Crea la tua barra di avanzamento

Per creare una barra di avanzamento, dobbiamo seguire diversi passaggi. Di seguito sono riportati i passaggi da coinvolgere durante la creazione del grafico a barre di avanzamento.

Passaggio 1: crea o inserisci un nuovo modulo utente.

Non appena fai clic sull'opzione sopra, vedrai un modulo utente come il seguente.

Passaggio 2: premere il tasto F4 per visualizzare la finestra delle proprietà VBA.

In questa scheda delle proprietà, dobbiamo modificare le proprietà del modulo utente VBA che abbiamo inserito.

Passaggio 3: modificare il nome del modulo utente in UFProgressBar.

Ora possiamo fare riferimento a questo modulo utente con il nome "UFProgressBar" durante la codifica.

Passaggio 4: modificare la proprietà Mostra modello del modulo utente su FALSE.

Passaggio 5: ora, regola l'allineamento dell'utente in base alle tue esigenze. Ho modificato l'altezza del modulo utente a 120 e la larghezza a 300.

Passaggio 6: modifica la didascalia del modulo utente in "Barra di stato di avanzamento".

Passaggio 7: ora, dalla casella degli strumenti del modulo utente, inserisci ETICHETTA nel modulo utente in alto.

Con questa etichetta, dobbiamo impostare le proprietà dell'etichetta. Elimina la didascalia e rendila vuota e regola la larghezza dell'etichetta.

Passaggio 8: modificare il nome dell'etichetta in "ProgessLabel".

Passaggio 9: Ora, dalla casella degli strumenti, prendi la cornice e disegna appena sotto l'etichetta che abbiamo inserito nei passaggi precedenti. Assicurati che la cornice sia al centro del modulo utente.

Passaggio 10: Ora, dobbiamo modificare alcune delle proprietà del Frame per farlo sembrare esattamente uguale al modulo utente che abbiamo inserito.

Proprietà 1: modifica il nome del frame in "ProgressFrame".

Proprietà 2: elimina la didascalia e rendila vuota.

Proprietà 3: Cambia l'effetto speciale del fotogramma in 6 - fmSpecialEffectBump.

Dopo tutte queste modifiche, il nostro modulo utente dovrebbe essere simile a questo.

Passaggio 11: ora inserisci un'altra etichetta. Questa volta inseriamo l'etichetta appena dentro la cornice che abbiamo inserito.

Durante l'inserimento dell'etichetta, assicurati che il lato sinistro dell'etichetta corrisponda esattamente al telaio che abbiamo inserito, come mostrato nell'immagine sopra.

Passaggio 12: dopo aver inserito l'etichetta, modificare le proprietà dell'etichetta come segue.

Proprietà 1: modifica il nome dell'etichetta in "MainProgressLabel".

Proprietà 2: elimina la didascalia.

Proprietà 3: cambia il colore di sfondo secondo i tuoi desideri.

Ok, ora abbiamo finito con il processo di impostazione della barra di avanzamento e, a questo punto, assomiglia a questo.

Ora dobbiamo inserire i codici per farlo funzionare perfettamente.

Passaggio 13: per rendere il framework aggiungere la macro sottostante in Excel.

Codice:

Sub InitUFProgressBarBar () With UFProgressBar .Bar.Width = 0 .Text.Caption = "0%". Mostra vbModeless End With
Nota: "UFProgressBar" è il nome dato al modulo utente e "Bar" è il nome dato al frame che abbiamo creato e "Text" è il nome dato all'etichetta all'interno del frame.

Ora, se esegui questo codice manualmente o tramite il tasto F5, dovremmo vedere la barra di avanzamento come questa.

Passaggio 14: ora dobbiamo creare una macro per eseguire il nostro compito. Sto eseguendo il compito di inserire i numeri di serie da 1 a 5000. Insieme a questo codice, dobbiamo configurare anche il grafico a barre di avanzamento, il file. Il codice è il codice su misura per te.

Codice:

Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Chiama InitUFProgressBarBar Do While i <= 5500 Cells (i, 1) .Value = i CurrentUFProgressBar = i / 2500 BarWidth = UFProgressBar. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" DoEvents i = i + 1 Loop Unload End UF

Articoli interessanti...