Startseite Inhaltsverzeichnis Nutzungsbedingungen Datenschutz Impressum Weitere Informationen

CODE-SCHNIPSEL

Eine einfache selbstgebaute Fortschrittsanzeige

VBA und Makros • Codeschnipsel • Arbeitsblatt • Fortschrittsanzeige • ProgressBar • UserForm • Eingabemaske

Ausgangslage ... Was tut der Codeschnipsel?

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.

VBAVBA Codeschnipsel

Der Quelltext ...

Option Explicit
' ****************************************************************
' Autor/en und Original-Quelltext unter:
' https://www.online-vba.de/vba_fortschrittsanzeige.php
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von https://www.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

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

Wichtiger Hinweis: Als kostenlosen Service stellen die Autoren von www.Online-VBA.de Dateien zum Download bereit. Dieser Download erfolgt stets auf eigene Gefahr. Bitte beachten Sie die Nutzungsbedingungen und das Impressum von www.Online-VBA.de, bevor Sie die Datei herunterladen. Ein kostenloser Support oder Service für die unter www.Online-VBA.de veröffentlichen Werke kann leider nicht angeboten werden!

Anmerkungen und Hinweise ...

Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2015.
Es gelten die Nutzungsbedingungen von Online-VBA.de.
TOTOP
ANZEIGE