Barra de progrés VBA | Creeu un diagrama de barres de progrés amb el codi VBA

Barra de progrés VBA d'Excel a Excel

Barra de progrés és una cosa que ens mostra quant d'un procés s'ha fet o acabat quan executem grans conjunts de codis que requereixen més temps per executar-se, utilitzem la barra de progrés a VBA per mostrar a l'usuari l'estat del procés o si tenim els processos que s’executen en un únic codi utilitzem la barra de progrés per mostrar quin procés ha progressat quant.

Una barra de progrés mostra el percentatge de tasques realitzades quan la tasca real s’executa darrere de la pantalla amb un conjunt d’instruccions donades pel codi.

Quan el codi VBA triga un temps considerable a executar-se, l’angoixa de l’usuari és saber quant aviat pot acabar. Per defecte, hem d’esperar el temps complet per completar la tasca, però mitjançant la inserció de la barra de progrés es coneix el progrés del codi VBA.

A gairebé tot el programari de l’ordinador veiem un gràfic de barres de progrés que mostra el progrés de la tasca que estem realitzant de la mateixa manera que la imatge següent.

En excel to podem crear la barra de progrés mitjançant la codificació VBA. Si mai us heu preguntat com podem crear una barra de progrés, aquest és l’article fet a mida per a vosaltres.

Podeu descarregar aquesta plantilla de barra de progrés VBA aquí: plantilla de barra de progrés VBA

Creeu la vostra pròpia barra de progrés

Per crear una barra de progrés, hem de seguir diversos passos. A continuació es mostren els passos a seguir durant la creació del gràfic de barres de progrés.

Pas 1: Creeu o inseriu un formulari d'usuari nou.

Tan bon punt feu clic a l’opció anterior, veureu un formulari d’usuari com el següent.

Pas 2: Premeu F4 tecla per veure la finestra de propietats de VBA.

En aquesta pestanya de propietats, hem de canviar les propietats del formulari d’usuari VBA que hem inserit.

Pas 3: Canvieu el nom del formulari d'usuari per UFProgressBar.

Ara podem referir aquest formulari d'usuari amb el nom "UFProgressBar" mentre es codifica.

Pas 4: Canvieu la propietat Mostra el model del formulari d'usuari a FALS.

Pas 5: Ara ajusteu l'alineació de l'usuari per adaptar-la a les vostres necessitats. He canviat l'alçada del formulari d'usuari a 120 i l'amplada a 300.

Pas 6: Canvieu el títol del formulari d'usuari per "Barra d'estat de progrés".

Pas 7: Ara, des de la caixa d'eines del formulari d'usuari, inseriu LABEL al formulari d'usuari a la part superior.

Amb aquesta etiqueta, hem d’establir les propietats de l’etiqueta. Suprimiu el títol i deixeu-lo en blanc i ajusteu l'amplada de l'etiqueta.

Pas 8: Canvieu el nom de l'etiqueta per "ProgessLabel".

Pas 9: Ara des de la caixa d’eines agafeu el marc i dibuixeu just a sota de l’etiqueta que hem inserit als passos anteriors. Assegureu-vos que el marc estigui al centre del formulari d’usuari.

Pas 10: Ara hem de canviar algunes de les propietats del marc per fer que sembli exactament igual que el formulari d'usuari que hem inserit.

Propietat 1: Canvieu el nom del marc per "ProgressFrame".

Propietat 2: Suprimiu el títol i deixeu-lo en blanc.

Propietat 3: Canvieu l’efecte especial del marc a 6 - fmSpecialEffectBump.

Després de tots aquests canvis, el nostre formulari d'usuari hauria de ser així.

Pas 11: Ara inseriu una etiqueta més. Aquesta vegada inseriu l’etiqueta just dins del marc que hem inserit.

Mentre inseriu l'etiqueta, assegureu-vos que el costat esquerre de l'etiqueta s'adapti exactament al marc que hem inserit tal com es mostra a la imatge anterior.

Pas 12: Després d'inserir l'etiqueta, canvieu les propietats de l'etiqueta de la següent manera.

Propietat 1: Canvieu el nom de l'etiqueta per "MainProgressLabel".

Propietat 2: Suprimiu el títol.

Propietat 3: Canvieu el color de fons segons el vostre desig.

D’acord, ara hem acabat amb el procés de configuració de la barra de progrés i, en aquest moment, es veu així.

Ara hem d’introduir codis perquè això funcioni perfectament.

Pas 13: Per fer que el marc afegeixi la macro següent a Excel.

Codi:

 Sub InitUFProgressBarBar () With UFProgressBar .Bar.Width = 0 .Text.Caption = "0%" .Mostra vbModeless End With 

Nota: "UFProgressBar" és el nom que es dóna al formulari d'usuari i "Bar" és el nom del marc que hem creat i "Text" és el nom de l'etiqueta dins del marc.

Ara, si executeu aquest codi manualment o mitjançant la tecla F5, hauríem de veure la barra de progrés així.

Pas 14: Ara hem de crear una macro per realitzar la nostra tasca. Estic realitzant la tasca d’inserir números de sèrie de l’1 al 5000. Juntament amb aquest codi, també hem de configurar el gràfic de barres de progrés, a sota del codi es troba el codi personalitzat.

Codi:

 Sub ProgressBar_Chart () Dim i Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar Do While i <= 5500 Cells (i, 1) .Value = i CurrentUFProgressBar = i / 2500 BarWidth = U Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Ronda (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complete" EndEProp