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

Forumthread: Makro mit Button auf Userform (vbmodeless) beenden

Makro mit Button auf Userform (vbmodeless) beenden
19.10.2017 15:25:57
ZD14
Hallo liebe Leute,
Ist es möglich, die Tastenkombination STRG+Pause auf einen Button zu legen?
Bei mir läuft ein Makro, dass potentiell eine Endlosschleife werden kann (Berechnung des Internen Zinsfußes). Das Ganze ist in einer Szenarienanalyse verpackt. Um den User über den Fortschritt zu informieren, habe ich eine Progressbar gebastelt. Die Progressbar ist eine Userform, mit einen Frame und einem Label. Der Code um sie upzudaten schaut folgendermaßen aus:

Sub UpdateProgressBar(sng_PctDone As Single)
' The DoEvents allows the UserForm to update.
DoEvents
'Update Progressbar
With frm_Progress
' Update the Caption property of the Frame control.
.fr_Progress.Caption = Format(sng_PctDone, "0%")
' Widen the Label control.
.lbl_Progress.Width = sng_PctDone * (.fr_Progress.Width)
End With
End Sub
Nun wäre es nett, wenn der User die gesamte Prozedur mit einem EXIT-Button beenden kann. (Nicht jeder kennt STRG+Pause).
Ich verwende die Progressbar auch bei anderen Operationen, die laufen zwar sicher durch, es wäre aber auch nett, wenn der User diese abbrechen könnte.
Vielen Dank!
LG
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Button auf Userform (vbmodeless) beenden
19.10.2017 16:43:01
mmat
Hallo,
um die eingangs gestellte Frage zu beantworten: ich glaube nicht, dass das geht.
Meine spontane Idee dazu ist, einfach eine Checkbox "Abbruch" auf dem Form einzubauen. Der User müsste eigentlich den Haken setzen können, während das Ding läuft (ggf. noch ein paar doevents einbauen).
Anzeige
AW: Makro mit Button auf Userform (vbmodeless) beenden
20.10.2017 08:05:43
ZD14
Guten Morgen!
Sehr gute Idee. Ich habe das mit einem Toggle Button umgesetzt (um das vertraute Buttongefühl für den User zu ermöglichen).

Private Sub tgl_Stop_Click()
MsgBox "Procedure stopped", vbOKOnly + vbInformation, "Cancel"
End
End Sub
Funktioniert einwandfrei! Nun werde ich noch eine Routine einbauen, damit die Objekte wieder zurückgesetzt werden etc.
LG
Anzeige
AW: Makro mit Button auf Userform (vbmodeless) beenden
20.10.2017 10:37:43
mmat
Danke für die Blumen, aber das war nicht (ganz) meine Idee :-)
Wenn du einen Button nimmst, erfordert dies die Ausführung von Code während der andere Code noch läuft. Ich hätte den Zustand der Checkbox in der Updateroutine der Progress-Bar abgefragt.
Die Aufräum-Routine kann so m. E. erst gestartet werden wenn das "End" ausgesprochen wurde.
Anzeige
AW: Makro mit Button auf Userform (vbmodeless) beenden
20.10.2017 11:06:40
ZD14
haha ok :P aber es hat mich zu meiner Idee gebracht ;) also waren die Blumen schon verdient!
das macht nicht sonderlich viel sinn, da die updateroutine nicht so häufig aufgerufen wird. Ist eher dazu da, um dem User zu zeigen, dass sich etwas tut.
AW: Makro mit Button auf Userform (vbmodeless) beenden
19.10.2017 17:06:04
onur
Du kannst mal testen, das Makro in das Activate-Event der UF zu packen und von da aus zu starten.
Dann könntest du mit einem Button auf der UF stoppen.
Statt das Makro aufzurufen, "Show"st du die UF.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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