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

Forumthread: Was anzeigen während Makro läuft ?

Was anzeigen während Makro läuft ?
Holger
Hallo,
beim Starten und bei anderen Aktionen werden Makros ausgeführt, deren Runtime schon mal bei fünf Minuten oder länger dauert. Da die Makros auch oft einzeln geestartet werden, habe ich oft DisplayAlerts, Visible etc auf false, was bei mehreren Makros zu unschönen Ergebnissen führt.
Was kann man machen während ein Makro läuft?
? Statusleiste unten etwas reinschreiben, sieht eh kein Mensch
? UserForm: ist mir zu kompliziert und Error Behandlung schwierig
? Application Einstellungen sind bei öfterer Anwendung auch unschön.
Am liebsten würde ich ein Bild einblenden oder irgendwas ?
Was gibt es für Möglichkeiten?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Was anzeigen während Makro läuft ?
30.06.2010 20:19:11
Ramses
Hallo
"...Was kann man machen während ein Makro läuft?..."
Msgbox "Wenn du auf OK klickst, dauert das jetzt 5 Minuten. Geh mal Kaffee trinken", vbOKonly,"Hinweis"
"...? Statusleiste unten etwas reinschreiben, sieht eh kein Mensch..:"
Sagst du, ist aber das einfachste. Die Anwender können doch lesen
"...? UserForm: ist mir zu kompliziert und Error Behandlung schwierig..."
Was ist an der Fehlerbehandlung schwierig ?
Wenn dir das zu kompliziert ist, nimm die Statusleiste
"...? Application Einstellungen sind bei öfterer Anwendung auch unschön.."
Warum ? Was ist daran unschön ?
"...Am liebsten würde ich ein Bild einblenden oder irgendwas ?..."
Wenn es unbedingt sein muss.
Füge das Bild fest in deine Tabelle ein (Einfügen - Grafik)
sieh dir den Namen des Bildes im Namensfeld links oben an.
Danach kannst du das Bild mit
ActiveSheet.Pictures("Grafik 1").Visible = False
auf unsichtbar stellen, bzw. wieder sichtbar machen während das makro läuft.
Grafiknamen entsprechend anpassen
Gruss Rainer
Anzeige
AW: Was anzeigen während Makro läuft ?
30.06.2010 20:54:44
Holger
Hallo Rainer,
das mit dem Bild gefällt mir, werde es ausprobieren.
Man könnte ja so ein Bild von früher nehmen "Werbepause" oder sowas.
mal ein einfaches Bsp..
30.06.2010 20:38:25
CitizenX
Hi Holger,
da der Rest für dich zu "unkomfortabel " ist hier mal was mit Bild ;-)
https://www.herber.de/bbs/user/70348.xls
viele Grüße
Steffen
Anzeige
AW: mal ein einfaches Bsp..
30.06.2010 21:41:04
Holger
Hi Steffen,
danke und cooles Bild ;).
Wozu ist das Application.OnTime am ende?
damit du noch die schrift siehts
30.06.2010 21:52:51
CitizenX
... "processing finished", sonst würde gleich wieder die Tab 1 active...
Grüße
Steffen
;
Anzeige
Anzeige

Infobox / Tutorial

Anzeige während Makro-Ausführung optimieren


Schritt-für-Schritt-Anleitung

Um während der Ausführung eines Makros eine visuelle Rückmeldung zu geben, kannst du folgende Schritte ausführen:

  1. Bild einfügen: Gehe auf Einfügen -> Grafik und wähle das gewünschte Bild aus. Dies könnte ein Bild sein, das den Anwender darüber informiert, dass das Makro läuft.

  2. Bild benennen: Klicke auf das Bild und achte darauf, dass es im Namensfeld links oben einen Namen erhält (z.B. "Grafik 1").

  3. Makro anpassen: Füge in dein Makro den Code ein, um das Bild sichtbar zu machen, bevor das Hauptprogramm ausgeführt wird, und es danach wieder auszublenden:

    ActiveSheet.Pictures("Grafik 1").Visible = True
    ' Dein Makro-Code hier
    ActiveSheet.Pictures("Grafik 1").Visible = False
  4. Statusleiste aktualisieren: Optional kannst du auch die Statusleiste aktualisieren, um den Fortschritt anzuzeigen:

    Application.StatusBar = "Makro läuft, bitte warten..."

Häufige Fehler und Lösungen

  • Bild wird nicht angezeigt: Stelle sicher, dass der Name des Bildes im Code mit dem Namen im Namensfeld übereinstimmt.

  • Makro läuft nicht länger als gedacht: Verwende Application.Wait oder Application.OnTime, um das Makro für eine bestimmte Zeit anzuhalten, wenn nötig.

    Application.Wait (Now + TimeValue("0:00:05")) ' 5 Sekunden warten
  • Statusleiste bleibt leer: Überprüfe, ob du die Statusleiste in deinem Makro korrekt aktualisierst und am Ende wieder zurücksetzt:

    Application.StatusBar = False

Alternative Methoden

Wenn du kein Bild verwenden möchtest, gibt es auch andere Möglichkeiten:

  • Benutze eine UserForm: Das Erstellen einer UserForm kann komplizierter sein, bietet aber mehr Flexibilität und eine ansprechendere Benutzeroberfläche.

  • Einfacher Hinweis mit MsgBox: Du kannst auch eine einfache Nachricht anzeigen:

    MsgBox "Das Makro läuft jetzt. Bitte warten...", vbInformation

Praktische Beispiele

Hier sind einige praktische Beispiele, die du in dein Makro integrieren kannst:

  1. Statusleiste einblenden:

    Application.StatusBar = "Das Makro läuft, bitte Geduld..."
  2. Bild einblenden:

    ActiveSheet.Pictures("Grafik 1").Visible = True
    ' Makro-Code hier
    ActiveSheet.Pictures("Grafik 1").Visible = False
  3. Kombination von beidem:

    Application.StatusBar = "Das Makro läuft..."
    ActiveSheet.Pictures("Grafik 1").Visible = True
    ' Dein Makro-Code
    ActiveSheet.Pictures("Grafik 1").Visible = False
    Application.StatusBar = False

Tipps für Profis

  • Verwende Application.ScreenUpdating: Setze dies auf False, um Flackern während der Makro-Ausführung zu vermeiden:

    Application.ScreenUpdating = False
    ' Dein Makro-Code
    Application.ScreenUpdating = True
  • Kombinierte Rückmeldungen: Kombiniere die Statusleiste mit einer UserForm für die besten Ergebnisse.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass das Bild auch bei einem Fehler wieder ausgeblendet wird.


FAQ: Häufige Fragen

1. Wie lange kann ein Makro laufen, ohne dass der Benutzer eine Rückmeldung erhält?
Es wird empfohlen, Rückmeldungen alle paar Minuten zu geben, um Benutzer nicht zu frustrieren.

2. Kann ich mehrere Bilder gleichzeitig einblenden?
Ja, du kannst mehrere Bilder im Code entsprechend anpassen und ein- oder ausblenden.

3. Was ist der Vorteil der Verwendung einer UserForm?
Eine UserForm bietet eine ansprechendere Benutzeroberfläche und ermöglicht es, komplexere Informationen anzuzeigen.

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