Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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
Makro beenden per Button
11.09.2017 14:55:58
Jens
Hallo,
ich ahbe auf einer userform zwei Button. Mit dem einen führe ich lange Berechnung aus. Er startet das Marko Berechnung
Der zweite Button soll das Makro abbrechen. Aber wie mache ich das? Mit exit sub. Aber der Button code ist ja nicht Teil des Makros?
Wie schaffe ich also den Bezug zu dem Makro, dass dies beendet werden soll?

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

Betreff
Datum
Anwender
Anzeige
AW: Makro beenden per Button
11.09.2017 15:25:34
JoNNy
Versuchs mal mit End
AW: Makro beenden per Button
11.09.2017 15:29:59
Jens
Wie soll ich aber dann den bezug auf das Makro im modul schaffen? wenn ich das Makro mit einem anderen Button ausgeführt habe als mit dem ich es Beenden will? Waas hilft mir da end?
Wie soll ich da den Bezug schaffen?
AW: Makro beenden per Button
11.09.2017 15:52:23
Rudi
Hallo,
das geht nicht, da VBA nicht Multitasking fähig ist.
Gruß
Rudi
AW: Makro beenden per Button
11.09.2017 15:57:20
JoNNy
Eine beherztes Drücken auf die ESC Taste tut's auch :D
AW: Makro beenden per Button
11.09.2017 16:29:49
Daniel
Hi
das ganze funktioniert nur dann, wenn du eine längerlaufende Schleife mit vielen umläufen hast.
dann kannst du im Schleifenumlauf mit DoEvents Excel dazu anweisen mal zu schauen, ob zwischenzeitlich was passiert ist (dh ob der Anwender irgendwelche Buttons oder Tasten gedrückt hat) und dann die entsprechend reagieren).
dh du müsstest so vorgehen:
1. erstelle eine Projektweit gültige Variable Abbrechen (Deklaration in einem allgemeinen Modul oberhalb der Markos)
Dim Abbrechen as Boolean
2. im Click-Event des Abbrechen-Buttons setzt du diese Variable auf True
Abbrechen = True
3. in der Berechnungschleife führst du an passender Stelle das DoEvents aus und überprüfst dann diese Variable:
For ....
DoEvents
If Abbrechen = True then
Abbrechen = False
Exit Sub (oder Exit For oder End, je nach Anforderung)
End If
Next
das Rücksetzen der Variable Abbrechen ist erforderlich, damit der nächste Lauf nach dem Abbruch wieder normal laufen kann (Excel merkt sich sonst den Wert von Abbruch, außer bei END)
Gruß Daniel
Anzeige

15 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige