Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Inhaltsverzeichnis

Statusanzeige

Statusanzeige
Joni
Hallo,
ich würde gerne eine Statusanzeige in ein Makro einbauen. Die Ausführung des Makros dauert sehr lange und hat einige Schleifen. Jetzt würde ich gerne in einem Fenster den aktuellen Stand einblenden. Der Wert im Fenster kann immer überschrieben werden. Eine msgbox ist darum nicht geeignet.
1 Fenster
1 Wert der immer überschrieben wird (z. B. Schleife 1 Durchlauf 1, Schleife 1 Durchlauf 2,...,Schleife 3 Durchlauf 7)
das Fenster verschwindet nach Fertigstellung des Makros selbständig
wenn möglich einfach in einen bestehenden Code einzubauen (z. B. Aufruf eines 2. Codes an den die Anzeigewerte übergeben werden)
Hat jemand das schon einmal umgesetzt?
Danke für eure Hilfe.
Gruß Joni

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Statusanzeige
03.11.2009 00:08:32
Oberschlumpf
Hi Joni
Wenn du einen Fortschrittsbalken (FB) meinst, dann ist das eigtl kein Problem.
Ein FB wird in einem Userform dargestellt und "läuft so lange voll", bis das Makro abgearbeitet ist.
Aber um das auch dir zeigen zu können, müsstest du uns deine Datei zeigen.
Es reichen in den Zellen auch Bsp-Werte. Aber der vollständige Code muss vorhanden sein.
(bitte nicht nur den Code hier zeigen, da dann deine Datei "nachgebaut" werden muss)
Ciao
Thorsten
AW: Statusanzeige
03.11.2009 00:27:54
Joni
Hi Thorsten,
das wird vermutlich gar nicht so einfach.
https://www.herber.de/bbs/user/65554.zip
Vorab einmal ohne Daten. Falls du glaubst es ist machbar kann ich dann noch ein paar Testdaten zur Verfügung stellen.
Die Datei ist noch nicht ganz fertig, der Feinschliff fehlt noch.
Der letzte Druchlauf mit allen Daten hat 1 Stunde 9 Minuten gedauert.
Bin mal gespannt was da kommt.
Gruß Joni
Anzeige
AW: Statusanzeige
03.11.2009 00:36:37
Oberschlumpf
Hi
Naa...du bist ja ne Nase!!...tztz (sry)
Setzte mir da ne Datei vor, OHNE dass du mir, bzw uns erklärst, was die Datei macht.
Gleich zu Anfang kommen ein paar Inputboxen.
Was soll ich n da eintragen? Vielleicht Hase,Igel und Meerschweinchen? :-)
Und meinst du denn, dass die Datei auch OHNE Daten funktioniert?
Ich kann jedenfalls ohne Daten gar nix vermuten.
Ciao
Thorsten
AW: Statusanzeige
03.11.2009 00:51:01
Joni
Hi Thorsten,
das war mir schon klar. Ich dachte du schaust mal in den Code bevor du ihn ausführst. Da sollte einiges ersichtlich sein.
1. Usereingaben abfragen
2. mit diesen Eingaben eine Parameter- und ein Batchfile erstellen
3. mit dem Batchfile ein externes Programm aufrufen unter Angabe des Parameterfiles
4. warten bis das externe Programm fertig ist (mit Hilfe der Tasklist)
5. ein "Fertigfile" schreiben das dem Code sagt, dass der Batch fertig ist
6. 3 erstellte Datendateien einlesen
7. aus diesen 3 Datendateien eine Zusammenfassung machen
8. aus der Zusammenfassung das Endergebnis erstellen
9. ins Endergebnis ein Teilergebnis einfügen und anschließen gruppieren und formatieren
Das war der Schnelldurchlauf.
Ich wollte, bevor sich hier viele Leute viel Arbeit antun, einfach mal eine erste Abschätzung ob das überhaupt gehen könnte bzw. lohnt.
Darum hätte ich an verschiedenen Stellen im Code einfach eine Infoausgabe eingebaut, das hätte mir schon gereicht. Doch die msgbox will immer eine Bestätigung und wird nicht überschrieben.
Also nix für Ungut, ich wollte dich zu später Stunde nicht noch schocken.
Auf jeden Fall danke, dass du überhaupt mal rein schaust.
Gruß Joni
Anzeige
AW: Statusanzeige
03.11.2009 09:29:22
André
Moin Thorsten,
ich habe mir jetzt Deine Datei nicht angeschaut. Ich denke mal, daß das für die Fragestellung auch nicht nötig ist, denn eine Statusanzeige sollte in jedem Script möglich sein.
Was ich mich Frage: muß es denn unbedingt in einem Fenster sein? Ich habe das bei einigen aufwändigen Scripts so gelöst, daß ich einfach etwas in die Statuszeile schreibe. Z.B. "Schritt 1/X, ...". Am Ende des Scripts lösche ich dann die Statuszeile wieder.
Das geht einfach mit
Application.StatusBar = "Deine Statusmeldung"
Gruß, André
aber ich bins doch gar nich :-)
03.11.2009 09:43:16
Oberschlumpf
Moin André
Danke für deinen Hinweis.
Aber ich bin gar nicht der Fragende ;-)
Aber dank Joni's detailierterer Beschreibung im 2. Anlauf hatte ich es mal mit nem UF versucht, und musste feststellen, dass dann ja viel Code ins UF verschoben werden muss.
Daher denk ich jetzt auch, dass die Benutzung der Statuszeile die einfacherere Lösung sein könnte.
Ciao
Thorsten
Anzeige
Isses denn ...
03.11.2009 11:07:59
André
... da hab ich Dich doch tatsächlich verwechselt. Soll nicht wieder vorkommen.
Gruß, André
AW: Statusanzeige
03.11.2009 10:19:58
Joni
Hallo André,
es muss kein Fenster sein. Nur irgendwo eine Anzeige. Wird die Anzeige auch aktualisiert wenn application.screenupdating = false eingestellt ist?
Ich werde mir das mal ansehen.
Danke
Gruß Joni
AW: Statusanzeige
03.11.2009 11:06:49
André
Hallo Joni,
ja, die Statusleiste wird auch aktualisiert, wenn ScreenUpdating = False ist. Zumindest bei mir (nutze Excel 2007)
Gruß, André
AW: Statusanzeige mit Statusleiste
03.11.2009 01:21:36
Daniel
Hi
ich würde hierfür die Excel-Statusleiste verwenden.
dort kannst du einen beliebigen Text anzeigen lassen mit dem Befehl:
Application.Statusbar = "Hallo Welt"

der der Abarbeitungsstand von Schleifen lässt sich auf diese Weise bspw sehr gut in Prozentwerten anzeigen und mit etwas Kreativität kann man auch Fortschrittsbalken basteln, allerdings steht einem nur der Unicode-Zeichensatz der Schriftart TAHOMA zur verfügung, dhl man muss etwas suchen bis man die passenden Zeichen für einen Fortschrittsbalken gefunden hat.
bei Makroende muss man die Statusleiste wieder mit dem Befehl:
Application.Statusbar = False

wieder für die normalen Excel-Statusmeldungen freigeben.
wenn dir das nicht reicht, müsstest du eine Userform anlegen und dort das Steuerelement "ProgressBar" einfügen und enstprechend ansteuern (falls die ProgressBar nicht angezeigt wrid, musst du sie über "Zusätzliche Steuerelemente" in den Werkzeugkasten mit aufnehmen.
Gruß, Daniel
Anzeige
AW: Statusanzeige mit Statusleiste
03.11.2009 10:52:57
Joni
Hallo Daniel, hallo André,
das erfüllt genau meine Anforderungen (auch bei abgeschalteter Bildschirmaktualisierung werden die Infos angezeigt).
War dann doch nicht so kompliziert, wenn man weiß wo suchen.
Danke!
Gruß Joni
AW: Statusanzeige
03.11.2009 15:41:51
Born
Hallo Joni,
alternativ könntest Du auch eine UserForm erzeugen, in der z.B. die Schleifenvariable im Verhältnis zur Gesamtzahl in Prozent angezeigt wird. Anschließend muss über DoEvents der weitere Ablauf des Makros erzwungen werden. Einfach mal nach Beispielen googlen.
Viele Grüße,
M. Born

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige