Fortschrittsbalken

Ein Fortschrittsbalken hilft deinen BenutzerInnen dabei abzuschätzen, wie lange der aktuelle Makrodurchlauf noch dauert.

Um eine professionelle und benutzerfreundliche Anwendung zu gestalten, kannst du für Makros einen Fortschrittsbalken erstellen.

Ich zeige dir Schritt für Schritt, wie du dieses Tool in deiner Anwendung integrieren kannst.

Schritt 1: Erstelle eine Userform

Starte mit der Erstellung und dem Design einer UserForm (1), füge einen Rahmen (2) hinzu, in dem du dann den Fortschrittsbalken sowie eine Prozentangabe (3) integrierst.

Excel VBA Fortschirttsbalken Detailansicht 3

Schritt 2: Fortschrittsbalken einfügen

Der Fortschrittsbalken (1) soll eine visuelle Darstellung der Prozentangabe sein und den BenutzerInnen auf einen Blick den aktuellen Stand veranschaulichen.

Excel VBA Fortschirttsbalken Detailansicht 2

Schritt 3: Anfangszustand (1) des Fortschrittsblaken definieren und UserForm aufrufen.

Die Breite (Width) des Balkens soll die aktuelle Prozentangabe wiederspiegeln. Somit ist der Anfangszustand des Balkens:
Breite (Width) = 0

Die UserForm rufst du in deinem bestehenden Code auf und definierst, dass der nachfolgende Code trotzdem ausgeführt werden soll.

Das erreichst du mit:
UfFortschrittsbalken.Show 0

Die 0 am Ende gibt über das Argument Modal die Freigabe, den folgenden Code weiter auszuführen.

Excel VBA Fortschirttsbalken Detailansicht

Schritt 4.1:Fortschrittsbalken aktualisieren an bestimmten Punkten

Eine einfache Möglichkeit den Fortschrittsbalken zu aktualisieren, ist im Code an bestimmten Punkten feste Zahlenwerte zu integrieren.

Vor allem wenn Makros mit mehreren Prozeduren und Unterprozeduren arbeiten, empfehle ich diese Option, da sie sehr rasch integriert werden kann.

Zum Beispiel in 25% Schritten:
Prozent = 25% (1) / 50% (2) / 75% (3) / 100% (4)
Balken Breite (Width) = Gesamtbreite x Prozentwert / 100

Excel VBA Fortschirttsbalken Übersicht

Schritt 4.2:Fortschrittsbalken aktualisieren per Unterprozedur

An die Unterprozedur übergibst du die Werte Anteil und Gesamt (1), anhand derer die Prozent sowie die Balkenbreite (Width) rechnerisch ermittelt wird (2).

Wichtig ist dabei, dass du die UserForm und das Makro parallel ausführst.

Dazu fügst du am Beginn der Unterprozedur den Code DoEvents (3) ein.

Excel VBA Fortschirttsbalken Code
				
					Sub FortschrittsbalkenUpdaten(Anteil As Long, Gesamt As Long)

'Updates zulassen
DoEvents

With UfFortschrittsbalken

    'Breite des Balken festlegen
    .Balken.Width = 282 * Anteil / Gesamt
    
    'Prozentangabe
    .Prozent.Caption = Round(Anteil / Gesamt * 100, 0) & "%"

End With

End Sub

				
			

Ich hoffe dieses Tutorial hilft dir dabei, deine Anwendung professioneller und benutzerfreundlicher zu gestalten!

Melde dich gerne für meinen Newsletter an und erhalte regelmäßig Tipps & Tricks rund um das Thema Excel VBA!

Teile diesen Beitrag

Empfehlungen für dich

VBATrainer Excel VBA Coaching - Lagerverwaltung

Sichere dir jetzt meine kostenlose Lagerverwaltungs-Anwendung