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

VBA Dauerwiederholung

VBA Dauerwiederholung
18.03.2009 18:59:39
MBorn
Guten Abend,
ich möchte ein Testskript alle 10 Sekunden dauerhaft ausführen lassen.
Weiß jemand eine Möglichkeit, wie man am besten eine Endlos-Schleife schreibt, die
alle 10 Sekunden ein Skript startet bis die Prozedur mit Escape-Taste
(oder anderer Taste) beendet oder unterbrochen wird?
Herzliche Grüße,
Born

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Dauerwiederholung
18.03.2009 19:01:26
Gerd
Hi,
schau mal in die Hilfe unter OnTime-Methode.
mfg Gerd
AW: VBA Dauerwiederholung
18.03.2009 19:06:02
MBorn
Hallo Gerd,
das hatte ich auch gesehen, aber
Application.OnTime Now + TimeValue("00:00:05"), "my-procedure" startete
die Prozedur nur ein einziges Mal.
Born
AW: VBA Dauerwiederholung
18.03.2009 19:11:05
Gerd
Hi,
du musst in "my-procedure" die erste Routine wieder aufrufen (Rekursion).
mfg Gerd
AW: VBA Dauerwiederholung
18.03.2009 19:18:02
MBorn
Ja, soooooooo! Aha! Danke sehr.
Jetzt will er gar nicht mehr aufhören. Mußte Excel beenden, weil
es nicht mehr auf esc reagierte.
Gibt es denn da noch einen Trick, wie man ihn wieder abwürgen
kann, ohne das Programm zu beenden?
Mercy,
Marlon
Anzeige
ESC - Taste drücken
19.03.2009 10:44:41
Ramses
Hallo
Hier ein Beispiel wie so was funktionieren kann
Option Explicit

Sub Taktgeber()
    'Die Prozedur kann jederzeit mit ESC abgebrochen werden
    Dim i As Long
    On Error GoTo myErrorHandler
    Application.EnableCancelKey = xlErrorHandler
    For i = 1 To 100000
        Debug.Print i
    Next i
    myErrorHandler:
    Select Case Err.Number
        Case 18
            MsgBox "Makro bei: " & i & " abgebrochen", vbInformation + vbOKOnly, "Info"
        Case Else
            MsgBox Err.Number & "; " & Err.Description
    End Select
End Sub

Gruss Rainer
Anzeige
mit Api
18.03.2009 19:26:47
Tino
Hallo,
hier mal eine Möglichkeit.
Kommt in ein Modul
Modul Modul1
Option Explicit 
 
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As _
Long, ByVal nIDEvent As Long, ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long 
  
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As _
Long, ByVal nIDEvent As Long) As Long 
  
Public hTimer As Long 
' Timer einschalten + Makro zuweisen 
Sub MeinStartMakro() 
  'Zeit in Millisekunden 
  hTimer = SetTimer(0, 0, 1000, AddressOf TestMakro) 
End Sub 
 
Sub TestMakro() 
Static iCounter As Integer 
 
iCounter = iCounter + 1 
 
Range("A1") = Range("A1") + 1 
 
If iCounter > 9 Then 
 Call KillTimer(0, hTimer) 'Timer beenden 
 iCounter = 0 
 MsgBox "Ende" 
End If 
  
End Sub 
 


Gruß Tino

Anzeige
Skript läßt sich nicht stoppen
19.03.2009 07:40:46
MBorn
Hallo Tino,
das Skript läuft gut, klar.
Allerdings gibt es dasselbe Problem wie mit Gerds OnTime -Tipp:
Es läßt sich nicht stoppen, während es läuft.
Gibt es dafür eine Lösung?
Gruß
Born
AW: Skript läßt sich nicht stoppen
19.03.2009 15:11:28
Tino
Hallo,
habe Dir mal ein Beispiel mit OnTime aufgebaut.
Zum starten oder beenden die F12 Taste drücken.
Die Api Funktion ist dafür nicht geeignet,
weil die OnTime wartet wenn Du z. Bsp. eine Zelle bearbeitest.
https://www.herber.de/bbs/user/60469.xls
Gruß Tino
Warum die Umgebung verbiegen ...
19.03.2009 16:07:05
Ramses
Hallo Tino
... und die Taste F12 missbrauchen ?
Mit "Application.EnableCancelKey" ist das eleganter und effizienter, vor allem du kannst das z.B. spezifisch vor einer Schleife aktivieren und anschliessend wieder deaktivieren.
Ausserdem ist das DIE typische Taste für den User, wenn er etwas abbrechen will.
Gruss Rainer
Anzeige
AW: Warum die Umgebung verbiegen ...
19.03.2009 17:08:02
Tino
Hallo Rainer,
kann man ja machen wie es einem gefällt. ;-)
Allerdings wird es in Verbindung mit einem Timer nicht so richtig funzen,
kann ich aber jetzt auch nicht sagen habe es nicht getestet.
Gruß Tino
AW: Skript läßt sich nicht stoppen
19.03.2009 16:10:46
MBorn
Hallo Tino,
endlich ist der Groschen gefallen.
Ich hab eine Viertel Stunde lang probiert F12 zu drücken während ich in VBA war.
Erst als ich gecheckt habe, daß das nur auf der Excel-Oberfläche klappt, hat es funktioniert.
Super! Du hast mir eine Menge beigebracht. Danke.
Born

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige