Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
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

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

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).
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.
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.
Anzeige
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.

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige