Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
344to348
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
344to348
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro für 10mal für je 2 Minuten stoppen

Makro für 10mal für je 2 Minuten stoppen
01.12.2003 13:16:40
Manuel Esterle
Hallo,
ich möchte innerhalb einer Schleife alle 2 Minuten die
Funktion "ausgabe" ausführen lassen. Wenn ich Application.OnTime
verwende, wartet Excel nur einmal für 2 Minuten und führt dann 10mal
hintereinander "ausgabe" aus:

For j = 1 To 10
zeit = Now + TimeValue("00:02:00")
Application.OnTime zeit, "ausgabe"
Next j

Verwende ich
Application.Wait Now() + TimeValue("00:02:00"), dann wird Excel mit
der Sanduhr lahmgelegt, und Excel reagiert nicht mehr.

Wie kann ich die Funktion 10 mal im Abstand von 2 Minuten ausführen lassen,
ohne Excel lahmzulegen? Während der 2minütigen Pausen soll man ganz normal
mit Excel arbeiten können.

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

Betreff
Datum
Anwender
Anzeige
Betriebssystem Vorlesung ;-)
01.12.2003 13:22:09
Marco Miedl
Hast Du in der Betriebssystem Vorlesung gefehlt?
:-)

Aber mal im Ernst...
Ich hab ja keine Ahnung welche Scheduling Funktionalitäten Excel hat, aber ich fürchte, dass es für Dein Problem keine Lösung gibt. Wenn du deinen Scheduling Mechanismus in eine Schleif packst blockiert diese natürlich die ganze Zeit die Anwendung. muss dieser Zeitmechanismus in dem selben Workbook passieren? falls nein würd ich den AT Befehl (ein Betriebssystem Befehl) um diese Sache zu lösen.
AW: Betriebssystem Vorlesung ;-)
01.12.2003 13:50:34
Harald Kapp
Hallo Ihr beiden,
der Ansatz wäre doch wohl, die Anweisung
Application.OnTime...
in der Prozedur "ausgabe" zu halten:

Option Explicit
Public AnzahlSchleifen As Integer


Sub test()
AnzahlSchleifen = 10
Call Ausgabe
End Sub


Sub Ausgabe()
Static zeit As Date
MsgBox "Es ist: " & zeit
zeit = Now + TimeValue("00:02:00")
If AnzahlSchleifen > 0 Then
Application.OnTime zeit, "ausgabe"
End If
AnzahlSchleifen = AnzahlSchleifen - 1
End Sub


Gruß Harald
Anzeige
AW: Betriebssystem Vorlesung ;-)
01.12.2003 15:36:19
Manuel Esterle
Hallo Harald,

super, vielen Dank für die Hilfe. So klappt es.

Manuel
AW: Makro für 10mal für je 2 Minuten stoppen
01.12.2003 13:46:03
Reinhard
Hallo Manuel,
so:

Dim Zaehler As Integer


Sub ZweiMinuten()
Application.OnTime Now + TimeValue("00:02:00"), "Ausgabe"
End Sub



Sub Ausgabe()
Zaehler = Zaehler + 1
Cells(Zaehler, 1) = Zaehler
If Zaehler <= 10 Then Call ZweiMinuten
End Sub


Gruß
Reinhard

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige