Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro läßt sich nicht stoppen

Forumthread: Makro läßt sich nicht stoppen

Makro läßt sich nicht stoppen
23.08.2007 20:28:00
Born
Hallo Excel-Freunde,
beim Versuch, eine Fortschrittsleiste zu basteln stoße ich auf das Problem,
daß sich der Prozess, wenn einmal gestartet mit der esc-Taste nciht mehr
abbrechen läßt. Kann mir vielleicht einer erklären, warum, oder noch besser,
wie ich das ändern kann?
Hier der Code:
Option Explicit

Sub ShowDialog()
Load ProgressDlg
ProgressDlg.Show
End Sub



Sub Main()
Dim i As Long, tot As Long
tot = 100
ProgressDlg.Caption = "Prosessing data, please wait..."
For i = 1 To tot
Range("HD2:HD327").Copy
Range("HN2") = Range("HN2") + 1
Cells(2, 235 + i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
If i Mod 1 = 0 Then ProgressBar i / tot
' do something
Next i
Unload ProgressDlg
End Sub



Sub ProgressBar(PctDone As Single)
With ProgressDlg
.lblDone.Width = PctDone * (.lblRemain.Width - 2)
.lblPct.Caption = Format(PctDone, "0%")
End With
'The DoEvents statement is responsible for the form updating
DoEvents
End Sub


Danke,
Born

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Tja, da wirst du wohl mit DoEvents eine...
24.08.2007 04:38:21
Luc:-?
...Ereignislawine lostreten, Born,
was man ja hier sonst nicht sehen kann. Zumindest ist hier nirgends zu sehen, dass du die Ausführung von Ereignissen irgendwo unterbrichst! Wenn ein Ereignis einen Vorgang auslöst (z.B. eine Subroutine aufruft) und der wiederum das/ein Ereignis auslöst, das einen Vorgang auslöst (z.B. eine Subroutine aufruft) und der wiederum das/ein Ereignis auslöst, das einen Vorgang auslöst (z.B. eine Subroutine aufruft) und der wiederum das/ein Ereignis auslöst, das einen Vorgang auslöst (z.B. eine Subroutine aufruft) und der wiederum das/ein Ereignis auslöst, das einen...usw. kommst du nie aus dieser Endlosschleife raus (auch nicht mit einer MsgBox mit Cancel-Button!), weil sicher etliche Subroutinen xmal neu gestartet wdn bevor der jeweils vorhergehende Lauf abgeschlossen ist.
Das ist wie das Bild von dem, der in einen Spiegel schaut, in dem er sich sieht wie er in einen Spiegel schaut, in dem er sich sieht wie er in einen Spiegel schaut, in dem er sich sieht wie er in einen Spiegel schaut, in dem er sich sieht wie er in einen Spiegel schaut...
Eventhandling ist nichts für VBA-Anfänger! Damit muss man sehr aufmerksam umgehen und alle möglichen Nebeneffekte (wie diesen) berücksichtigen. Um so etwas zu vermeiden, sollte auch mal Application.EnableEvents=False/True eingesetzt wdn...
Gruß Luc :-?

Anzeige
AW: Tja, da wirst du wohl mit DoEvents eine...
24.08.2007 18:17:00
Born
Hallo Luc,
danke für die Ausführungen. Ja, ich bin VBA-Anfänger. Habe einfach dringend eine
progress-bar gebraucht und im INternet diesen Code gefunden. Der erste der funktionierte.
Hättest Du möglicherweise dafür eine einfachere Lösung?
Gruß und Dank,
Marlon

Sowas wird hier alle naselang gefragt,...
25.08.2007 05:22:00
Luc:-?
...Born!
Schau doch mal bspw hierauf oder auf Hajo's Website, da ist, glaub ich, auch was. Außerdem sicher hier im Archiv... ;-)
Gruß Luc :-?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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