Einfache selbstgebaute Fortschrittsanzeige

VBA und Makros
Codeschnipsel
Arbeitsblatt
Fortschrittsanzeige
ProgressBar
UserForm
Eingabemaske
Excel

Ausgangslage - Was tut dieser Code-Schnipsel?

Wer auf zusätzliche oder externe Fortschrittsanzeige-Steuerelemente verzichten möchte, kann mit wenigen Handgriffen und zwei Standardsteuerelementen eine Fortschrittsanzeige Marke Eigenbau produzieren.

Benötigt wird lediglich eine UserForm mit den Steuerelementen Frame1 und Label1. Der Frame wird verwendet, um die Beschriftung und den Rahmen unserer Fortschrittsanzeige zu formatieren. Das Label1 Steuerelement stellt dabei den farbigen Fortschrittsbalken dar.

Am Ende der Seite finden Sie eine Beispieldatei zum Download.

Der Quelltext

Option Explicit
' Original-Quelltext unter: https://www.online-vba.de/einfache-selbstgebaute-fortschrittsanzeige
' Express-Hilfe für VBA unter https://www.online-vba.de/vba-expresshilfe
' Es gelten die Nutzungsbedingungen von Online-VBA.de

'Benötigt eine UserForm mit den Steuerelementen Frame1 und Label1 ...

Private Sub OVBAde_Fortschrittsanzeige()
  Dim i As Long
  
  Dim OVBAde_ProgressBar_dStepValue As Double
  Dim OVBAde_ProgressBar_dProgress As Double
  Dim OVBAde_ProgressBar_lStep As Double
  Dim OVBAde_ProgressBar_MaxSteps As Double
  
  Const lSTEPS As Long = 50000 'Wie viele Schritte sind 100%
  Const dMAXLABELWIDTH As Double = 354 '100% Breitenangabe des Labels
    
    'Initialisierung
    OVBAde_ProgressBar_MaxSteps = lSTEPS
    OVBAde_ProgressBar_dStepValue = CDbl(dMAXLABELWIDTH / CDbl(lSTEPS))
    OVBAde_ProgressBar_dProgress = 0
    
    'Fortschrittsanzeige einblengen
    Frame1.Visible = True
    Label1.Visible = True
    Label1.Width = 1 'Fortschrittsbalken ganz nach links bringen
    
    'Verarbeitungsstart Beispiel: Schleife von 1 bis lSTEPS
    For i = 1 To lSTEPS
    
        'Hier ist Platz für die gewünschten Aktionen :)
        
        'Fortschrittsanzeige um einen Schritt erhöhen
        OVBAde_ProgressBar_dProgress = OVBAde_ProgressBar_dProgress + OVBAde_ProgressBar_dStepValue
        'Balken entsprechend vergrößern
        Label1.Width = OVBAde_ProgressBar_dProgress
        DoEvents
        
    Next i
    
    'Abschluss und Ausblenden
    Frame1.Visible = False
    Label1.Visible = False
End Sub

Ergebnisse statt Aufwand & Arbeit?
Wir liefern Ergebnisse - Schicken Sie uns kurz Ihre Datei und Ihre Wünsche; wir integrieren den notwendigen Code professionell, beheben ggf. vorhandene Fehler, machen optional ein Code-Review, liefern bei Bedarf Performance-Optimierungen & setzen gewünschte Erweiterungen effizient für Sie um (und das zum Festpreis nach kurzer Sichtung).
Express-Service beauftragen

Download der Beispieldatei

Zu guter Letzt habe ich Ihnen dieses Beispiel als Download bereitgestellt.
Den Link dazu finden Sie hier:

DOWNLOAD

Dateiformat: *.xlsm • Erstellt mit Microsoft Excel Version 2013 • Diese Datei ist kompatibel mit Microsoft Excel Version 2007 oder neuer • Dateigröße: ca. 21 KiloBytes

Das könnte Sie auch interessieren:
Für dringende Fälle bieten wir Excel-Soforthilfe – Ursachenanalyse, Fix und präventive Maßnahmen.Wir unterstützen Sie mit einem VBA-Entwickler für Stuttgart – Festpreise und direkter Ansprechpartner.

Anmerkungen und Hinweise

Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2015.
Die Nutzung erfolgt auf eigene Gefahr. Bitte denken Sie immer zuerst an eine ausreichende Datensicherung. Wir können keinen kostenlosen Support anbieten. Es gelten unsere Nutzungs­bedingungen.


So einfach läuft unsere VBA-Expresshilfe ab

1
Senden Sie uns Ihre Office-Datei oder Ihren VBA-Code (gerne anonymisiert) mit einer kurzen Problembeschreibung oder Ihrem Erweiterungswunsch per E-Mail.
2
Wir analysieren Ihr Anliegen schnell und schicken Ihnen umgehend (tagsüber meist innerhalb von 1-2 Stunden) ein Festpreis-Angebot.
3
Nach Ihrer Zustimmung lösen wir Ihr Problem (meist noch am gleichen Tag) oder setzen Ihre Erweiterung zuverlässig um – inklusive verständlicher Dokumentation der durchgeführten Maßnahmen.

Jetzt kontaktieren!







Mit einem * gekennzeichnete Eingabefelder sind Pflichtfelder.
Datenschutzhinweise zum Kontaktformular: Die von Ihnen im Kontaktformular bereitgestellten Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verwendet und nicht ohne Ihre Zustimmung an Dritte weitergegeben. Ihre Daten werden nur für den Zeitraum gespeichert, der zur Bearbeitung Ihrer Anfrage erforderlich ist. Weitere Hinweise zum Datenschutz finden Sie in unserer Datenschutzerklärung.
Hinweis: Für die vollständige Funktion dieser Website ist JavaScript erforderlich.
Bitte aktivieren Sie JavaScript in Ihrem Browser, um alle Inhalte und interaktiven Funktionen nutzen zu können.