Anzeige
Archiv - Navigation
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fortschrittsbalken

Fortschrittsbalken
24.09.2006 14:23:06
KurtW
Hallo Allerseits,
ich habe mal rumgestöbert und dies über den "Fortschrittsbalken" gefunden:
https://www.herber.de/bbs/user/36965.zip
Da ich nicht so ein "Profi" bin, weiß ich nicht so Richtig weiter.
DAs Problem:
Ich habe ein Makro damit filtere ich eine große Datenbank etc. und es werden dazwischen einige Makros "abgearbeitet", funktioniert, DAUER ca.2 min.
nun möchte ich das der Fortschrittsbalken bei Aufruf des Makros anfängt zu laufen und am Ende 100 % erreicht sind, bzw. beendet wird.
Kann mir jemand helfen ?
KurtW

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fortschrittsbalken
24.09.2006 14:57:52
Daniel
Hallo
ein echte Fortschrittsbalken mit extakter %-Anzeige wird wohl schwierig, weil du ja schon vor her wissen mußt, wie lange das ganze dauern wird.
ich habe mal was änhliches in der Statusbar gemacht, das sah dann so aus:
Beispielsweise dein Code besteht aus 20 Abschnitten, die nacheinander abgearbeitet werden.
Dann habe ich am Anfang geschrieben:
- Application.Statusbar = "--------------------" (als 20 x "-")
Nach jedem Abschnitt habe ich dann folgenden Code eingefügt:
- Application.StatusBar = Left("X" & Application.StatusBar, Len(Application.StatusBar) - 1)
Somit füllt sich die Statusleiste nach jedem abgearbeiteten Abschnitt mit einem weitern "X"und du weißt, wieviel noch offen ist.
(XXXXXX------------)
Am Ende des Codes gibst du die Statuszeile wieder frei für Excel mit
application.statusbar = false
Ist zwar sicherlich nur eine sehr rudimentäre Form einer Fortschrittsanzeige, aber sie funktioniert auf jeden fall mit einfachsten Mitteln.
Anzeige
Werde mal testen
24.09.2006 15:00:52
kurtw
Hallo Daniel,
werde gleich mal testen, gebe Info.
KurtW
Geht bei mir nicht brauch doch
24.09.2006 16:42:20
KurtW
Hallo Daniel,
geht bei mir nicht, habe eine UF die den ganzen Bildschirm verdeckt.
Brauch irgenwie einen Fortschrittsbalken...
gruß KurtW
AW: Geht bei mir nicht brauch doch
24.09.2006 17:55:50
Daniel
Hallo
dann kannst du doch in diese Userform ein Textfeld oder Label einbauen, mit dem du das gleiche machst.
Hat zusätzlich noch den Vorteil, daß du eine andere Schriftart auswählen kannst (z.B. Wing- oder Webdings) die dann Zeichen enthalten, die einen schöneren Fortschrittsbalken ergeben als "X" und "-".
oder du baust ein Label ohne Text mit Hintergrundfarbe ein, dessen Breite du bei jedem Schritt um einen bestimmten Wert erhöhst. (geht mit LABEL1.WIDTH)
Siehe Beispiel https://www.herber.de/bbs/user/36966.xls
Gruß, Daniel
Anzeige
Hallo gefällt mir...
24.09.2006 19:54:22
KurtW
Guten Abend Daniel,
werde morgen testen gebe bescheid, wenn ich das auf meine UF plazieren kann,
ist das SUPER, melde mich !
mfg KurtW
Frage Wichtig
24.09.2006 19:56:38
KurtW
Wo setze ich den mein Makro rein ?
gruß KurtW
AW: Frage Wichtig
24.09.2006 22:22:14
Daniel
Hallo
Du mußt die einzelnen Bestandteile innerhalb deines bestehenden Codes einbauen.
Beim Start halt
label1.width = 0 / label1.caption = "----------"
und danach nach jedem Schritt ein
label1.width = label1.width + 10 / label1.caption = left("x" & label1.caption, len(label1.capion))
Wenn das Makro innerhalb der der Userform geschrieben ist, reicht es so, wenn das eigentliche Makro außerhalb steht und von der Userform nur aufgerufen wird, muß auf jeden fall noch ein "Userform1." davor.
ggf ist in diesem Fall auch ein Userform1.Repaint erforderlich, um den Bildschirm zu aktualisieren.
Aber das hängt halt alles auch davon ab, wie dein code Aufgebaut ist.
Gruß, Daniel
Anzeige
Leider Fehlermeldung
26.09.2006 13:20:35
KurtW
Hallo Daniel,
habe versucht einzubauen, leider ohne Erfolg.
Fehlermeldung: "Methode oder Datenobjekt.."
Hier mein Makro:

Private Sub OptionButton2_Click()
Application.ScreenUpdating = False
'UserForm3.Label79.With = 0 / UserForm3.Label79.Caption = "--------"
Call CommandButton2_Click                       'erst alles löschen
Call VF_Alle_Laufende_in_FFDWVK_setzen
'Label79.Width = Label79.Width + 10 / Label79.Caption = Left _
'              ("x" & Label79.Caption, Len(Label79.Caption))
Call VF_FFDCVD_Sortieren_00
'Label79.Width = Label79.Width + 10 / Label79.Caption = Left _
'              ("x" & Label79.Caption, Len(Label79.Caption))
Call Typen_zaehlen                                   'Matrix füllen
'Label79.Width = Label79.Width + 10 / Label79.Caption = Left _
'              ("x" & Label79.Caption, Len(Label79.Caption))
End Sub

Hast Du ein Beispiel ?
Gruß KurtW
Anzeige
AW: Leider Fehlermeldung
26.09.2006 23:03:00
Daniel
Hallo
bitte das was ich geschrieben habe nicht einfach ohne zu denken als Code kopieren.
ich habe dir gesagt, du mußt die einzenen Befehle in deinen bestehenden Code einbauen.
Außderdem willst du ja auch sicher nicht Grafischen- und Text-Balken zusammen haben, sondern wahrscheinlich wird dir einer reichen.
und eine Beispieldatei hatte ich ja schon hier reingestellt.
Gruß, Daniel
Fehler 13
27.09.2006 09:12:56
KurtW
Guten Morgen Daniel,
habe jetzt Fehlermeldung: Laufzeitfehler13 Typen unverträglich.
Habe so eingesetzt, steht in der Userform3:

Private Sub CommandButton7_Click()
UserForm3.Label79.Width = 0 / UserForm3.Label79.Caption = "--------"
Call CommandButton2_Click                       'erst alles löschen
Call VF_Alle_Laufende_in_FFDWVK_setzen
Label79.Width = Label79.Width + 10 / Label79.Caption = Left _
("x" & Label79.Caption, Len(Label79.Caption))
End Sub

Was habe ich (Trottel vergessen?),
gruß KurtW
Anzeige
Nachtrag
27.09.2006 18:12:05
KurtWw
Hallo Daniel,
habe das Makro eingesetzt, wenn ich auf das Command-Button drücke, wird jedesmal ein
Stück Balken sichtbar, wie aber oder Wo setzé ich den meine Call Makros ein ?
Damit das ganze nach jeder Abarbeitung funktioniert,
mfg Kurt
AW: Nachtrag
28.09.2006 00:32:49
Daniel
Hallo,
was ist den so schwer daran?
du hast ein Hauptmakro, daß nacheinander die ganzen untermakros aufruft.
vor oder aach jedem aufruf eines Untermakros machst du das Label ein Stückchen breiter.
Beispiel

Sub Commandbutton1_Click
label1.width = 0
call makro1
label1.width = label1.width + 10
call makro2
label1.width =label1.width +10
call makro3
label1.width = label1.width +10
und so weiter und so weiter
End Sub

Gruß, Daniel
Anzeige
Ja aber
28.09.2006 16:08:16
KurtW
Hallo Daniel,
habe alles durchgeführt, funktioniert auch wenn ich die Msgbox zwischensetzen,
Stück für Stück...
Jedoch nicht wenn ich meine Makso einbinde.
Habe schon die Bildsirmaktuallisierung rausgenommen, was könnte es noch sein ?
gruß KurtW
Funktioniert
28.09.2006 17:35:51
KurtW
Hallo Daniel,
DANKE !!!!!!!!!!!!!!!!!!!!!!!!
Funktioniert, weiß nicht warum klappt!
gruß KurtW

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige