Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1440to1444
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

Meldung wenn makro fertig ist

Meldung wenn makro fertig ist
19.08.2015 15:27:25
Thomas
Hallo excelfreunde,
ich starte in einer UF die abfolge bestimmter Makros. Ich möchte gern
während der Laufzeit die meldung "Makro läuft, bitte warten...." erhalten.
mit mein untenstehenden Versuch klappt es leider nicht. Hat jemand eine andere Idee?
liebe grüsse thomas
Private Sub CommandButton1_Click()
Application.StatusBar = "Makro läuft, bitte warten...."
Sheets("Filtereinstellungen").Range("B18").Value = CDate(TextBox1.Text)
Sheets("Filtereinstellungen").Range("B19").Value = CDate(TextBox2.Text)
Call Daten_holen
Call Tabelle_ordnen_Modul
Call leerzeilen_loeschen
Unload Me
Application.StatusBar = "fertig"
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Meldung wenn makro fertig ist
19.08.2015 15:41:35
Matthias
Hallo Thomas,
normal sollte es so funktionieren. Selbst mit ScreenUpdating ausgestellt, wird die Statusleiste in meinem kurzen Test aktualisiert während die Userform andere Dinge erledigt.
Ansonsten mal DoEvents probieren, hilft wenn die Statusleiste einfriert bei längeren Makros. Da dein Befehl an zweiter Stelle steht sollte das aber eigentlich nicht notwendig sein.
lg Matthias

AW: Meldung wenn makro fertig ist
19.08.2015 16:51:35
Thomas
hallo Matthias,
ich bekomme es leider nicht hin,
kannst du mir mal dein kleinen selbsttest schicken? Dann könnte ich es mal mit meiner UF vergleichen. Und nachbauen.
Was meinst Du mit mal DoEvents.
vielen dank erst mal noch für dein interesse.
liebe grüsse thomas

Anzeige
AW: Meldung wenn makro fertig ist
19.08.2015 17:04:23
Matthias
Hallo Thomas,
Du hast bestimmt schon festgestellt, dass während das Makro läuft du keine anderen Sachen in Excel machen kannst.
"DoEvents" ist ein Befehl mit dem der PC zunächst alle anderen anstehen Aufgaben erledigt (z.B Klick auf einen weiteren Schalter, Tastenanschläge, etc.) bevor er mit der nächsten Zeile des Makros weitermacht. Für die genaue Definition frag aber lieber mal Google. DoEvents ist in dem Fall in die nächste Zeile nach "Application.Statusbar = ..." einzufügen.
Mein kleiner Selbstest bestand einfach nur aus einer Userform mit einem Schalter und folgendem Code:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Application.StatusBar = "Läuft"
'DoEvents
Application.Wait Now + TimeValue("00:00:05")
Application.StatusBar = "Bereit"
Application.ScreenUpdating = True
End Sub

Also vergleichbar mit deinem. Was dazwischen steht ist ja irrelevant, da der Befehl StatusBar zuerst ausgeführt wird.
lg Matthias

Anzeige
AW: Meldung wenn makro fertig ist
19.08.2015 22:16:42
Thomas
Hallo Matthias,
es funktioniert jetzt. ich musste dies Application.StatusBar = "Läuft" vor jedes call ...
schreiben und nun zeigt er es an.
vielen dank für die Tipps.
und sorry das ich erst jetzt schreibe ich hatte ein internet problem.
hab vielen dank für die hilfe.
liebe grüsse thomas

AW: Meldung wenn makro fertig ist
19.08.2015 17:04:45
Daniel
Hi
wenn bei einer Userform mache ist das so:
1. ich erstelle auf der Userform eine Mulitpage mit zwei Seiten und blende die Reiter aus (dann kann der Anwender nicht umschalten, sondern nur ich per Code)
auf der ersten Seite liegen die Steuerelemente, auf der zweiten Seite der Hinweistext "bitte warten" und wenn möglich auch ein Progressbar-Steuerelement
2. bevor die eigentlichen zeitauswendigen Makros loslaufen, wechsle ich dann auf die Multipageseite mit dem Hinweistext (Multipage1.Value = 1) und wenn die Makros durchgelaufen sind wieder zurück
ggf richte ich auch noch eine dritte Seite ein, auf welcher dann die Fertigmeldung steht.
(insbesondere dann, wenns so Infos benötigt werden wie "123456 Zeilen bearbeitet, davon 123 fehlerhaft".)
wenn man keine Userform hat, kann man sich auch ein zusätzlichen Tabellenblatt anlegen, in welchen dann in grossen freundlichen Buchstaben das "bitte Warten" steht und das gleiche Spiel mit dem Blatt betreiben.
Gruß Daniel

Anzeige
AW: Meldung wenn makro fertig ist
19.08.2015 23:40:05
Thomas
Hallo Daniel,
erstmal vielen dank für das interesse. ich habe mal versucht von deinen ideen etwas umzusetzten,
nun ja siehe status VBA. Aber ich würde mir dies gern anschauen.
ich habe schon mal ein beispiel vorbereitet. kannst du mal ein beispiel einbauen?
! das test macro läuft auf mein PC ca. 120
sekunden. Man kann es aber mit esc beenden ( es werden nur leere zellen gelöscht)
https://www.herber.de/bbs/user/99691.xlsm
liebe grüsse thomas

AW: Meldung wenn makro fertig ist
20.08.2015 00:09:04
Daniel
Hi
was soll ich einbauen
lerne erstmal, wie man zeilen schnell und effektiv löscht.
bei Excel-gut solltest du die Funktion "Duplikate entfernen" kennen und diese zum löschen von Zeilen verwenden.
hierzu kennzeichnest du die Zeilen, die gelöscht werden sollen in einer Hilfsspalte mit einer Formel mit dem WErt 0 und die Zeilen die stehen bleiben sollen, mit der aktuellen Zeilennummer.
dann wendest du die Funktion DATEN - DATENTTOOLS - DUPLIKATE ENTFERNEN an, mit der Hilsfspalte als kriterium.
Gruss Daniel

Anzeige
ups kleines missverständnis
20.08.2015 03:32:22
Thomas
Hallo Daniel,
ich glaub du hast etwas falsch verstanden. Dies ist doch nur ein Test Macro es sollte eine längere Laufzeit haben um die Statusleiste (bzw. Progressbar-Steuerelement) während der arbeit des makros zu testen.Damit hatte ich genug zeit um test durchzuführen ohne meine Hauptdatei zu zerstören.
Und ich habe auch nicht gesagt das Du es einbauen sollst. Es war eine frage ob du mir mal deine Idee zeigen könntest. Denn ich habe versucht es nachzubauen aber es gelang leider nicht.
Mir ist nur dies auf die schnelle eingefallen ansonsten hatte ich keine Idee eine längere Laufzeit zu produzieren.
liebe grüsse thomas

Anzeige
AW: ups kleines missverständnis
20.08.2015 11:44:22
Daniel
Hi
im Prinizp so.
die Reiter der Multipage solltest du über die Eigenschaftsliste noch ausblenden.
ich lasse die vorab aber noch sichtbar, weils die sonst auch im Edtior nicht sichtbar sind und es dann etwas aufwendig ist, die einzelnen Seiten zu bearbeiten.
https://www.herber.de/bbs/user/99702.xlsm
Gruß Daniel

vielen dank
20.08.2015 14:12:59
Thomas
hallo daniel,
vielen dank dies kann ich nachbauen. Und ist genau das was ich gebrauchen kann. Macht es viel arbeit wenn du diese Meldung noch mit einbaust?
(wenns so Infos benötigt werden wie "123456 Zeilen bearbeitet, davon 123 fehlerhaft")
PS. dein beispiel mit dem testmacro ist deutlich besser als meine idee.
liebe grüsse thomas

Anzeige
AW: vielen dank
20.08.2015 15:53:31
Daniel
Hi
naja, für solche meldungen braucht man ja ein konkretes Fallbeispiel.
da kann ich dir jetzt auch nicht weiterhelfen.
oder muss ich dir erklären, wie man per Makro die Beschriftung eines Userform-Labels ändert?
naja gut.
verwende den Code: Userform1.Label1.Caption = "123456 Zeilen bearbeitet, davon 123 fehlerhaft"
und platziere in im Berechnungsmakro und das Label auf der Seite 3 der Multipage.
Gruß Daniel

AW: vielen dank an Daniel
21.08.2015 10:48:11
Thomas
Hallo Daniel,
sorry das ich mich erst heut melde. Ich hatte gestern wieder ne Leitungs Störung.
Hab vielen dank für deine tipps. Ich werde damit ein wenig experimentieren.
vielen dank dank
thomas
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige