Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

fortschrittsbalken während makroabarbeitung

Forumthread: fortschrittsbalken während makroabarbeitung

fortschrittsbalken während makroabarbeitung
07.08.2002 14:54:24
artinger
hallo miteinander!

in einer userform mache ich darauf aufmerksam, daß nach dem OK-klick in der userform anschließend ein makro startet, daß relativ lange dauert. ich hätte gerne den fortschritt des langen makros z.b. mit einem balken dargestellt. hat wer sowas schon mal programmiert und könnte mir da tips geben?

danke im voraus!

mfg hans

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: fortschrittsbalken während makroabarbeitung
07.08.2002 15:03:28
Michael Scheffler
Hallo,

Du brachst ein Formular mit einem Label, dessen Hintergrund Du z.B. Blau machst. Das Formular wird nichtgebunden (modal = false) aufgerufen und bei jedem Schleifendurchlauf kannst Du die Länge des Labels ändern. Soweit dei Theorie bei Excel 2000.

Excel 8 vedeutet abet 97? Da kannst Du nur mit der Application.Statusbar arbeiten.

Gruß

Micha

Anzeige
Re: fortschrittsbalken während makroabarbeitung
07.08.2002 16:05:29
Nepumuk
Hallo Hans
im VBA-Editor unter EXTRAS zusätzliche Steuerelemnte suchst du nach Microsoft Progressbar Control. Diesen durch einen Haken aktivieren. Er erscheint daraufhin in deiner Werkzeusammlung. Du kannst ihn dann entweder in eine neue oder in die vorhandene Userform einbauen. Die Anzeige des Balkens erfolgt über die Value-Zuweisung. Beispiel:

Gruß
Nepumuk

Anzeige
Ist MS Progbar Cntrl in XL97 überhaupt enthalten ?
07.08.2002 16:56:55
mattis

Re: Ist MS Progbar Cntrl in XL97 überhaupt enthalten ?
07.08.2002 17:01:11
Nepumuk
Wenn nicht kann ich schicken.
Re: Ist MS Progbar Cntrl in XL97 überhaupt enthalten ?
07.08.2002 23:56:10
Heinz
kann ich diese ProgressBar auch irgendwie in die Statusleiste einbauen, wär doch eigentlich eleganter und ich müsste nicht extra eine Userform Basteln :-)

Gruss Heinz

Anzeige
Re: Ist MS Progbar Cntrl in XL97 überhaupt enthalten ?
08.08.2002 08:28:50
Nepumuk
Morgen Heinz
würde mich auch interessieren.
Gruß
Nepumuk
Nicht in der Statusleiste, aber...
08.08.2002 17:36:40
mattis
Mit folgendem Download kann man mit Hilfe von
Grafikzeichen eine Progressbar simulieren.
Aber außer Zeichen bekommt man nun mal nichts in die
Statusbar hinein, ist halt nicht so ansehnlich.
http://www.erlandsendata.no/downloads/statbar.zip

Muß man aber auch nicht, wenn es so schöne Progressbars gibt : )
http://www.erlandsendata.no/downloads/progressbarexamples.zip

Schaut euch ruhig mal auf der Seite um, die ist echt klasse!

gruß
mattis

Anzeige
Anzeige

Infobox / Tutorial

Fortschrittsbalken während der Makroverarbeitung in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne den VBA-Editor in Excel (Alt + F11) und füge eine Userform hinzu.

  2. Label hinzufügen: Platziere ein Label auf der Userform und stelle den Hintergrund auf Blau oder eine andere Farbe deiner Wahl ein.

  3. Modalität einstellen: Setze die Userform-Eigenschaft Modal auf False, damit das Makro weiterhin ausgeführt werden kann, während die Userform angezeigt wird.

  4. Fortschrittsbalken implementieren: In der Schleife deines Makros kannst du den Fortschritt des Prozesses durch die Änderung der Width-Eigenschaft des Labels steuern. Beispiel:

    Dim i As Integer
    For i = 1 To 100
       UserForm1.Label1.Width = i * 2 ' Beispiel, um den Fortschritt zu zeigen
       DoEvents ' Erlaubt der Userform, sich zu aktualisieren
    Next i
  5. Userform anzeigen: Zeige die Userform am Anfang deines Makros an, bevor die lange Berechnung beginnt:

    UserForm1.Show

Häufige Fehler und Lösungen

  • Userform bleibt hängen: Wenn die Userform nicht aktualisiert wird, füge DoEvents in deiner Schleife hinzu, um Excel zu ermöglichen, die Anzeige zu aktualisieren.

  • Label wird nicht angezeigt: Überprüfe, ob die Userform modal ist. Setze Modal auf False.

  • Fortschrittsbalken funktioniert nicht in älteren Excel-Versionen: In Excel 97 oder 2000 kann die Application.StatusBar verwendet werden:

    Application.StatusBar = "Fortschritt: " & i & "%"

Alternative Methoden

  • VBA Statusbar: Anstelle einer Userform kannst du die Statusleiste verwenden, um den Fortschritt anzuzeigen:

    Application.StatusBar = "Fortschritt: " & i & "%"
  • Microsoft Progressbar Control: Aktiviere das Microsoft Progressbar Control in den Steuerelementen des VBA-Editors. Füge es zu deiner Userform hinzu und steuere die Anzeige mit der Value-Eigenschaft.


Praktische Beispiele

Beispiel für einen Fortschrittsbalken in einer Userform:

Sub LangeBerechnung()
    UserForm1.Show
    Dim i As Integer
    For i = 1 To 100
        UserForm1.Label1.Width = i * 2 ' Fortschritt aktualisieren
        DoEvents
        ' Simuliere lange Berechnung
        Application.Wait (Now + TimeValue("0:00:01"))
    Next i
    UserForm1.Hide
End Sub

Beispiel für die Statusleiste:

Sub LangeBerechnungMitStatusbar()
    Dim i As Integer
    For i = 1 To 100
        Application.StatusBar = "Fortschritt: " & i & "%"
        ' Simuliere lange Berechnung
        Application.Wait (Now + TimeValue("0:00:01"))
    Next i
    Application.StatusBar = False ' Statusbar zurücksetzen
End Sub

Tipps für Profis

  • Nutze DoEvents, um sicherzustellen, dass die Benutzeroberfläche während der Ausführung des Makros responsiv bleibt.

  • Experimentiere mit verschiedenen Farben und Stilen für den Fortschrittsbalken, um die Benutzererfahrung zu verbessern.

  • Halte deine Userform und den Fortschrittsbalken so einfach wie möglich, um die Leistung nicht zu beeinträchtigen.


FAQ: Häufige Fragen

1. Wie kann ich den Fortschrittsbalken in einer Userform anpassen? Du kannst die Eigenschaften des Labels in der Userform anpassen. Zum Beispiel die Height, Width und die BackColor.

2. Funktioniert der Fortschrittsbalken in Excel 97? Ja, in Excel 97 kannst du die Application.StatusBar verwenden, um den Fortschritt anzuzeigen, da das Microsoft Progressbar Control möglicherweise nicht verfügbar ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige