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

Userform vbmodeless, trotzdem nicht klickbar

Userform vbmodeless, trotzdem nicht klickbar
09.08.2018 10:02:55
MaTrois
Hallo Forum,
ich bin neu hier. In meiner schon längeren Excel/VBA Karriere bin ich häufigst auf dieses Forum gestoßen und habe meistens eine Lösung gefunden. Vielen Dank für die guten Infos.
Aktuell habe ich ein Problem bei dem mich meine ganze Internetrecherche nicht weiterbringt, weil ich eigentlich gar nicht weiß wo das Problem herkommt. Ich versuche es so einfach wie möglich zu erklären.
Ich nutze Excel 2016 und habe mir mit VBA ein Makro erstellt, dass eine Tabelle Zeile pro Zeile durchgeht und Infos aus Dateien lädt und aktualisiert. Aktualisiert wird eine Übersichtstabelle (Workbook_Übersicht), im Hintergrund geladen werden Datentabellen (Workbook_Daten). Dieser Vorgang ist in dem Makro "aktualisieren" beschrieben, welches sich in einem Modul innerhalb eines Addins befindet. Das Makro selber rufe ich über einen Button aus der Ribbonleiste auf. Der Vorgang des Aktualisierens dauert je nach Anzahl der Zeilen (eine Zeile = eine Dateindatei) länger und ich habe eine Userform gebaut, die den Fortschritt anzeigt (Anzeige von im Hintergrund geöffnetem Workbook, Userform wird über userform.show angezeigt und am Ende über userform.hide ausgeblendet). Bis hierhin funktioniert alles prima und genau so wie es soll.
Jetzt zum Problem: Auf der Userform ist ein Button, der mit Abbrechen beschriftet ist. Wenn man draufklickt soll der Vorgang abgebrochen werden. Der Button ist nicht anklickbar obwohl die Userform vbmodeless ist (Eigenschaft ShowModal = false). Zum Test habe ich zusätzlich eine
Private Sub UserForm_Click()
MsgBox "geklickt"
End Sub

angelegt. Diese Prozedur funktioniert innerhalb der aufrufenden Prozedur "aktualisieren" auch nicht, wenn ich nur die Userform ausprobiere schon. Woran kann das liegen obwohl ich ShowModal = False gesetzt habe?
Vielen Dank für Tipps.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform vbmodeless, trotzdem nicht klickbar
09.08.2018 10:35:45
MatthiasG
Hallo MaTrois,
wenn das Makro so lange dauert, solltest du in die Schleifen ein

DoEvents

einbauen, sonst kommt Excel nicht dazu, Mausklicks abzufragen.
Gruß Matthias
AW: Userform vbmodeless, trotzdem nicht klickbar
09.08.2018 10:52:14
Daniel
Ja, DoEvents muss sein, damit VBA während des Makrolaufs auf deine Klicks reagieren kann.
Ansonsten werden deine Eingaben ignoriert oder erst nach Ablauf des Makros ausgeführt.
Außerdem würde ich einen ToggleButton verwenden.
Diesen kannst du einfacher und vor allen zeitunabhängig abfragen, ob er geklickt wurde.
Dh dein Schleife müsste in etwa so aussehen:

For ...
DoEvents
If UserformX.Togglebutton1 then
Hier der Abbruch code und Exit For
End if
Hier der normale SchleifenCode
Next
Gruß Daniel
Anzeige
AW: Userform vbmodeless, trotzdem nicht klickbar
09.08.2018 10:59:49
MaTrois
Hallo Matthias,
herzlichsten Dank. Genau das war die Lösung. Wenn ich überlege wie lange ich rumgesucht habe und auf was für Abwegen ich mich dabei befunden habe kann ich es kaum glauben wie schnell ich hier die Antwort bekommen habe. Vielen Dank dafür auch an Daniel, der geantwortet hat während ich diese Antwort schrieb.
AW: ist halt ein super Forum hier - oT
09.08.2018 11:13:59
MatthiasG
:-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige