Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  MsgBox-ähnliches Gebilde mit Fortschrittsbalken per VBA
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 472
Wohnort: Kiel

BeitragVerfasst am: 06.11.2007, 10:28 Nach oben

Hallo, allerseits!

Falls diese Frage in einen anderen Bereich gehört, bitte Bescheid sagen, aber direkt zu VBA habe ich nichts gefunden und ich brauch's in der Tat für Excel... Wink

Ich klöter hier in etlichen Auswertungen immer wieder elend lange Listen (ca. 15 bis 35 tausend Zeilen) per VBA durch, vergleiche sie mit anderen, durchaus ebenso langen Listen, kopiere hin und her, berechne, ...

Einige dieser Aktionen dauern schon relativ lange (so im Bereich 5 bis 10 Minuten), ganz wenige sogar noch länger (1 Stunde). Sad

Um dem Anwender zu zeigen, daß noch etwas passiert, mache ich das, was eigentlich die Performance der Abarbeitung noch weiter drückt: Ich aktiviere jeweils das Blatt / die Zelle, in der sich was tut. So sieht der Anwender wenigstens nicht nur eine blöde Sanduhr, sondern herrlich scrollende Bildschirme. Tatsache, war so gewünscht! (Die meisten Anwender drückten nach spätestens 2 Minuten die ESC-Taste, weil sie dachten, der Rechner hat sich aufgehangen.)

Nun würde ich das gerne ablösen durch einen kleinen, handlichen Fortschrittsbalken, der im Vordergrund erscheint, nicht zu klein, aber hübsch bunt ist, vielleicht sogar eine lustige kleine Animation bietet, ... Wink

Ne, im Ernst, wie auch immer... Welche Möglichkeit habe ich da, mit "Bordmitteln" aus Excel 2000, ohne Installation von fremden Add-Ins aber mit völig freier Kreativität in VBA, was hinzukriegen?

Ich dachte an sowas wie "BalkenStart(meldung,start,ende)", "BalkenText(meldung)", "BalkenPosition(aktuell)" und "BalkenStop", die ich dann an entsprechender Stelle im Source der Berechnungen aufrufen könnte. Wichtig wäre, daß es ein gebundenes Popup ist, das auch nicht zu klein ist. Also der Statusbalken links unten im Excel bitte nicht... Wink Außerdem sollte das Popup auch die Möglichkeit haben, einen Text darzustellen, der sich auch ggf. während der Abarbeitung ändern können sollte. Ein "Abbrechen"-Button wäre auch nicht schlecht.

Wäre echt klasse, wenn mir hier jemand einen Schubs in die richtige Richtung geben könnte.

Gruß, Michael
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
john g.
Office-Spezialist
Office-Spezialist


Anmeldedatum: 10.03.2006
Beiträge: 339

BeitragVerfasst am: 06.11.2007, 11:50 Nach oben

Hallo,

am einfachsten und wenig geschwindigkeitshemmend ist es, eine Formel dieser Art

Application.StatusBar = "Bearbeitete Datensätze = " & x & " von " & xend & " / Startzeit: " & now

in die Bearbeitungsschleife einzubauen. So wird in der Statuszeile der Fortschritt sichtbar.

_________________
Gruß
J.
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 472
Wohnort: Kiel

BeitragVerfasst am: 06.11.2007, 11:58 Nach oben

john g.:
> Application.StatusBar = "Bearbeitete Datensätze = " & x & " von " & xend & " / Startzeit: " & now

Ne, bitte nicht das Ding da unten. Das sieht keiner bzw. achtet darauf. Alles schon probiert.

Die Leute sehen ein Excel-Blatt, auf dem sich nichts rührt und dazu eine Sanduhr als Cursor. Die gucken nicht erst lange in alle Ecken, um in 0,5 cm hoher Schrift irgendein Hinweis zu finden. Die Drücken einfach ESC...

Gruß, Michael
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
john g.
Office-Spezialist
Office-Spezialist


Anmeldedatum: 10.03.2006
Beiträge: 339

BeitragVerfasst am: 06.11.2007, 12:35 Nach oben

Na dann beim Makrostart eine Box in etwa so

MsgBox ("Der Bearbeitungsstand wird links unten angezeigt!" & Chr(13) & Chr(13) & "Die Bearbeitung kann mehrer Minuten dauern." & Chr(13) & Chr(13) & "Vorzeitiger Abbruch der Prüfung mit ´ESC´.")

einbauen. Das sieht jeder!

_________________
Gruß
J.
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5749

BeitragVerfasst am: 06.11.2007, 15:40 Nach oben

Hallo!

Du kannst auch eine UserFrom mit einem Fortschrittbalken anzeigen lassen.
Die ProgressBar findest du in den "weiteren Steuerelementen".
Hier ein Beispiel mit einem Dummy-Makro.


miriki.xls
 Beschreibung:

Download
 Dateiname:  miriki.xls
 Dateigröße:  27 KB
 Heruntergeladen:  42 mal


_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 472
Wohnort: Kiel

BeitragVerfasst am: 08.11.2007, 11:50 Nach oben

schatzi:
> Du kannst auch eine UserFrom mit einem Fortschrittbalken anzeigen lassen.

Örks... Danke! Das war der entscheidende Hinweis! Und ich Dämel hab mich schon an irgendwelche System-DLLs ranmachen wollen, um dort Standard-Dialoge zu suchen.

An die User-Formulare hab ich ja nun überhaupt gar absolut nicht gedacht. Danke!

Gruß, Michael
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Filter in Abfrage setzen oder Ähnliches rhservice Microsoft Access Hilfe 2 04.08.2008, 19:04 Letzten Beitrag anzeigen
Keine neuen Beiträge MsgBox: yesno - Wie verknüpft man die... lincoln Microsoft Word Hilfe 1 25.05.2008, 13:46 Letzten Beitrag anzeigen
Keine neuen Beiträge Kalender, Datum und ähnliches Stumpfi Microsoft Excel Hilfe 11 25.01.2008, 11:37 Letzten Beitrag anzeigen
Keine neuen Beiträge Probleme mit Fortschrittsbalken (Prog... Wandiii Microsoft Excel Hilfe 3 21.11.2007, 13:05 Letzten Beitrag anzeigen
Keine neuen Beiträge Fehlermeldung erstellen (MsgBox?) OMEN75 Microsoft Excel Hilfe 6 06.05.2007, 14:29 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de