Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
VBA-Programm beenden
18.03.2007 17:19:00
Sophie
Hallo zusammen,
habe mir ein Programm erstellt, daß in regelmäßigen Abschnitten (1 Minute) eine Aktualisierung vornimmt. Aufruf wie folgt:
Application.OnTime Time + TimeSerial(0,1,0), "Start"
Nun habe ich festgestellt, daß es gar nicht so einfach ist, dieses zu beenden. Wie kann man die Programmausführung beenden, ohne Excel zu schließen?
Hab es schon mit dem Button "Zurücksetzen probiert" im VBA - Editor ohne Erfolg, auch wenn ich in das Direkteingabefenster "End" eingebe bringt dies auch nicht den Erfolg.
Momentan schaffe ich es nur wenn ich in dem Programm einen Haltepunkt setze, dann kann ich es beenden sobald es hier dann angehalten wird.
Hat mir von Euch einer eine Lösung hierfür!
Vielen Dank.
Gruß
Sophie

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Programm beenden
ransi
Hallo Sphie
Versuche es mal so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub CommandButton1_Click()
bol = True
Call start
End Sub


Private Sub CommandButton2_Click()
bol = False
End Sub


und in ein Modul den Code für dein "Start"
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public bol As Boolean

Public Sub start()
If bol = False Then Exit Sub
MsgBox "start"
Application.OnTime Time + TimeSerial(0, 0, 5), "Start"
End Sub


ransi
Anzeige
AW: VBA-Programm beenden
18.03.2007 21:14:49
Sophie
Hallo ransi,
vielen Dank für Deine Hilfe.
Werde es ausprobieren.
Schönen Gruß
Sophie
AW: VBA-Programm beenden
18.03.2007 19:38:00
Josef
Hallo Sophie,
das geht so.
' **********************************************************************
' Modul: Modul3 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public RunWhen As Double
Public Const cRunIntervalSeconds = 60 ' Intervall in Sekunden
Public Const cRunWhat = "The_Sub"

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
    schedule:=True
End Sub

Sub The_Sub()

MsgBox "The_Sub"

StartTimer

End Sub

Sub StopTimer()
On Error Resume Next
Application.OnTime earliesttime:=RunWhen, _
    procedure:=cRunWhat, schedule:=False
End Sub

Gruß Sepp
Anzeige
AW: VBA-Programm beenden
18.03.2007 21:21:56
Sophie
Hallo Sepp,
vielen Dank für Deine Hilfe.
Es ist ein ganz anderer Weg wie der von mir, ich rufe ja innerhalb meinem Programm dieses selbe immer wieder auf, Du löst dies anders. In "The_Sub" soll ja dann mein Programm stehen oder täusche ich mich, da wo Du MsgBox "The_Sub" geschrieben hast, kommen einmal meine Programmzeilen rein?
Sieht irgendwie professioneller aus Deine Lösung, oder täusche ich mich, wahrscheinlich ist meine Lösung nicht gerade optimal vom programmiertechnischen gesehen, oder was meinst Du?
Schönen Gruß
Sophie
AW: VBA-Programm beenden
18.03.2007 21:25:00
Josef
Hallo Sophie,
mit "OnTime" arbeitet man in der Regel so, wie ich es dir gezeigt habe.
Du hast richtig erkannt, das dort wo die MsgBox steht dein Code reinkommt.
Du musst auch sicherstellen, das beim Schließen der Mappe, die Prozedur "StopTimer" aufgerufen wird, sonnst öffnet sich die Mappe wie von Geisterhand.
Gruß Sepp
Anzeige

58 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige