Anzeige
Archiv - Navigation
1096to1100
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

10 sek. warten

10 sek. warten
dennis
Hallo,
ich habe schon einiges probiert, was ich hier im Forum gelesen habe, aber anscheinend passt nichts davon zu meinem Problem: ein Makro schreibt in die Spalten A - D Formeln, die einen Import von Daten bewirken. Diese Daten kopiere ich und überschreibe dann die Formeln in A - D wieder. Das hat den Grund, dass die DDE-Formeln recht prozessor-intensiv sind und ich brauche diese Daten nur einmal pro Stunde. Daher will ich jede Stunde das Makro einmal betätigen und es soll die Daten importieren und sobald ALLE Daten importiert sind, die Formeln mit den aktuellen Daten überschreiben.
Nun ist es so, dass der Datenimport ein paar Sekunden benötigt, bis alle Daten aktualisiert sind. In dieser Zeit soll das Makro 10 Sekunden warten, bevor es die Formeln mit den Daten überschreibt.
Wenn ich z.B. Application.Wait nehme, sehe ich keine Aktualisierung der Daten. Daher denke ich, dass es die beste Möglichkeit wäre, wenn ich eine 10 sekunden Schleife habe, die nur DoEvents ausführt.
Kann mir jemand sagen, wie ich das am besten löse?
Danke!
Gruß Dennis

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: 10 sek. warten
26.08.2009 19:50:41
Harry
Hi,
probier mal:
Option Explicit
Private Declare Sub Sleep Lib "Kernel32" (ByVal ms As Long)
Sub ordination()
Dim x As Integer
Do Until x = 1000
x = x + 1
Sleep 10
DoEvents
Loop
End Sub
mfg Harry
AW: 10 sek. warten
26.08.2009 20:44:06
Tino
Hallo,
teile doch dein Makro in zwei, eins für den import und eins für die Formel.
Dieses zweite startest du mittels Application.Ontime nach 10 Sekunden aus dem ersten.
Sollte bei VBA gut kein Problem sein
Gruß Tino
AW: 10 sek. warten
26.08.2009 21:39:13
Matthias
Hallo Dennis,
Falls der Vorgang des Datenimports die Eigenschaft Application.CalculationState beeinflusst, kannst Du auch versuchen, nicht immer 10 sec. zu warten, sondern solange, bis die Berechnungen abgeschlossen sind:

Do
DoEvents
Loop Until Application.CalculationState = xlDone
Wie gesagt, falls, das müsstest Du mal ausprobieren.
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige