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

Makro zeitverzögert ausführen

Makro zeitverzögert ausführen
24.03.2009 10:05:01
Bjarne
Moin,
folgendes Problem:
Ich möchte zwei Makros ausführen. Makro 1 soll eine Datei öffnen, Makro 2 soll dann Tabellenblätter aus dieser kopieren und sie dann wieder schließen.
Die zwei Makros an sich funktionieren, wenn ich sie einzelnd und nacheinander ausführe. Will ich sie jedoch hintereinander ablaufenlassen, so öffnet er die Datei aber nischts weiter.
Das besondere bei der Datei die geöffnet wird ist, dass die Verknüpfungen erst aktualisiert werden müssen (läuft automatisch). Kann es sein, dass er sich deshalb irgendwo aufhängt bzw. nicht mehr die Tabellenblätter kopiert?
Grüße und vielen Dank für Antworten
Bjarne

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

Betreff
Datum
Anwender
Anzeige
zeitverzögert ...
24.03.2009 10:21:04
Matthias
Hallo
benutze Application.Wait Now+TimeSerial(0,0,n)
wobei n Deine variable Sekundenzeit ist.
also m Prinzip so:

Sub alleMakros()
makro1 'Ausführen Makro1
Application.Wait Now + TimeSerial(0, 0, 3) '3 sekunden Pause
makro2 'Ausführen Makro2
End Sub


Setze die Zeit immer höher bis es klappt.
Gruß Matthias

AW: Makro zeitverzögert ausführen
24.03.2009 10:43:14
Tino
Hallo,
ich würde Excel nicht die Luft zum atmen nehmen und
mit der Ausführung des zweiten Makros mittels OnTime eine gewisse Zeit warten.
Wird ein Makro anderes Makro ausgeführt, wartet die Ontime Methode bis dieses abgearbeitet ist.
Durch die zweite Zeitangabe wird sichergestellt, dass nach einer Minute dieses Makro nicht mehr ausgeführt werden darf. Die Zeiten musst Du entsprechend anpassen.
Sub StartMakro()

Application.OnTime Now + TimeSerial(0, 0, 2), "Makro2", Now + TimeSerial(0, 1, 0)
Call Makro1 'Ausführen Makro1 

End Sub

Sub Makro1()
Dim a As Long
For a = 1 To 6
 Application.Wait Now + TimeSerial(0, 0, 1)
Next a
End Sub

Sub Makro2()
 Debug.Print "Mach was anderes"
End Sub


Gruß Tino

Anzeige
AW: Makro zeitverzögert ausführen
24.03.2009 12:06:30
Bjarne
Moin,
vielen Dank für die Vorschläge!
Klappt wunderbar!!!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige