Variablenübergabe zum Stoppen einer Zeiteinheit
23.06.2005 22:18:04
reiner
Beim Öffnen einer Exceldatei mit 2 Tabellenblättern wird gleichzeitig eine Userform mit mehreren Schaltflächen geladen und eine Zeiteinheit gestartet. Nach Ablauf von 20 sek schließt diese Userform automatisch falls in diesem Zeitraum wider Erwarten keine UserForm-Schaltfläche betätigt wurde.
Bei Anwahl eines Tabellenblatts innerhalb dieser 20 sek wird die UserForm ausgeblendet; die Zeit zählt jedoch weiter rückwärts bis auf 0 sek und schließt dann die Datei. Ich würde gern die Zeiteinheit mit der Anweisung KillTimer stoppen sobald eines der beiden Tabellenblätter gewählt wird.
--------------
Im VBA-Projektexplorer erscheint unter MS EXCEL Objekte als erster Eintrag Diese Arbeitsmappe; in diesem Projektordner ist der Programmcode zur Erkennung des Tabellenblattwechsels gespeichert:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If UserForm1.Visible Then UserForm1.Hide. End Sub
Bei Anwahl eines der beiden Tabellenblätter wird die Variable vBool auf True gesetzt; wenn die UserForm erneut eingeblendet wird, wird gleichzeitig die Variable vBool auf False zurückgesetzt.
Ich erhielt bereits den Tipp, bei Änderung des Variablenwerts mit Hilfe der ONTIME-Methode die 20-sek- Zeiteinheit zu stoppen. Die Vorgehensweise ist mir im Prinzip klar, ich weiß nur noch nicht wie ich den Variablenwert vBool an die ONTIME-Methode im Programmcode der UserForm übergeben soll, evtl. mit einer IF-Abfrage.. oder?
Gruß reiner