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

Pause während der Ausführung des Codes einbauen

Pause während der Ausführung des Codes einbauen
08.03.2006 15:00:06
Bjoern
Hallo Forumsmitglieder,
ich habe folgendes Problem:
Ich habe in Excel ein Makro programmiert, dass eine Abfrage mittels einer Funktion ausführt. Das Ergebnis dieser Abfrage möchte ich für eine weitere Funktion verwenden.
Die Abfrage braucht etwas Zeit, bis das Ergebnis geliefert wird. In der Zwischenzeit hat das Makro aber schon die Zelle ausgelesen, in der das Ergebnis dann eigentlich stehen. Entsprechend funktioniert die neue Funktion nicht.
Nun habe ich mit "DoEvent" und "Application.OnTime" probiert, das ganze zu verzögern. Aber beides hat nicht geholfen, da die Abfrage dann auch nicht ausgeführt wurde und entsprechend die neue Funktion natürlich nicht richtig rechnet. Vielleicht habe ich ja was falsch gemacht.
DAHER: Wie kann ich in VBA eine "Pause" einbauen, die es ermöglicht, die Ausführung des Makrocodes für X Sekunden zu unterbrechen und NICHT die Berechnung / Abfrage des Excelsheets zu unterbrechen.
Ich bedanke mich für die Hilfe.
Grüße
Björn

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pause während der Ausführung des Codes einbaue
08.03.2006 15:08:22
zink
Hallo Björn,
schau mal in der Online-Hilfe die Hinweise zur WAIT - Methode an.
Beispiele:
(1) Ausführung des Makros bis 18.23 Uhr desselben Tages unterbrechen:
Application.Wait "18:23:00"
(2) Ausführung eines aktuell ausgeführten Makros für ungefähr 10 Sekunden unterbrechen.
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
HTH
Joachim
AW: Pause während der Ausführung des Codes einbaue
08.03.2006 15:52:15
Bjoern
Ich danke Zink und Nepumuk,
aber leider hatte ich mit diesen beiden Methoden keinerlei Erfolg gehabt. Die Abfrage wird in der Zwischenzeit nicht ausgeführt.
DAHER: Würde mich freuen, wenn es eine weitere Lösung gibt.
Ich bedanke mich.
Grüße
Björn
Anzeige
AW: Pause während der Ausführung des Codes einbaue
08.03.2006 16:00:08
Nepumuk
Hallo Björn,
was ist das für eine Abfrage?
Gruß
Nepumuk

AW: Pause während der Ausführung des Codes einbauen
08.03.2006 15:10:22
Nepumuk
Hallo Björn,
versuch es mal so:
Option Explicit

Private Declare Sub Sleep Lib "kernel32.dll" ( _
    ByVal dwMilliseconds As Long)

Public Sub test()
    Sleep 1000
End Sub

Wenn das nicht hilft, dann versuch es so:
Option Explicit

Private Declare Sub Sleep Lib "kernel32.dll" ( _
    ByVal dwMilliseconds As Long)

Public Sub test()
    Dim intIndex As Integer
    For intIndex = 1 To 100
        Sleep 10
        DoEvents
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Pause während der Ausführung des Codes einbaue
08.03.2006 16:02:14
Ramses
Hallo
warum sollte dies mit Application.OnTime nicht funktionieren ?

Sub test()
MsgBox "Nächste Msg-Box in 10 Sekunden"
'Starten Deiner WEB-Abfrage
Application.OnTime Now + TimeSerial(0, 0, 10), "NextMsgBox"
End Sub


Sub NextMsgBox()
'Weiterverarbeiten des Codes
MsgBox "Da bin ich"
End Sub

In den 10 Sekunden dazwischen kannst du ganz normal weiterarbeiten
Gruss Rainer
AW: Pause während der Ausführung des Codes einbaue
09.03.2006 10:18:14
Bjoern
Hi @ all,
danke für die Hilfe. Besonders die Hilfestellung von Rainer hat den Durchbruch geschafft. Erst durch die Unterteilung in mehrere Subs funzt die Application.OnTime und ich bekomme die Info.
Grüße
Björn
Anzeige

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige