Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten aktualisieren im Makro

Daten aktualisieren im Makro
06.05.2004 09:16:32
Nicole
Hallo,
Ich möchte per Makro (Makro Nr. 1) eine Datei öffnen in der nach Öffnen Daten automatisch aktualisiert werde. Diese Aktualisierung dauert ca. 2 Minuten. Wenn die Daten aktualisiert sind, soll ein weiteres Makro (Makro Nr. 2) laufen.
Wenn ich beide Makros automatisch hintereinander laufen lasse, dann läuft Makro Nr. 2 los, bevor die Daten aktualisiert sind. Das soll nicht sein.
Hat jemand eine Idee, wie ich dieses Problem lösen kann (ausser, dass ich mich daneben setze und das zweite Makro manuell anstarte)?
Schon mal vielen Dank
Gruß aus Wiesbaden
Nicole
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Daten aktualisieren im Makro
Herbert
Hallo Nicole
Schreib doch vor end sub des ersten Makros:
call Makro2
Gruß herbert
AW: Daten aktualisieren im Makro
06.05.2004 10:09:58
Nicole
Hallo Herbert,
das hat leider auch nicht funktioniert.
Es liegt wahrscheinlich daran, dass das Aktualisieren der Daten nichts mit dem Makro zu tun hat. Das erste Makro öffnet nur die Datei und ist dann beendet. Die Aktualisierung der Verknüpfungen in der geöffneten Datei passieren immer, auch wenn ich die Datei manuell öffne.
Und da das Makro mit dem Öffnen der Datei beendet ist, wird auch mit der Call Funktion gleich das nächste Makro gestartet.
Ich benötige wohl einen Befehl, der dem zweiten Makro sagt, dass es erst starten darf, wenn nach Beendigung des ersten Makros zwei Minuten vergangen sind.
Gibt es sowas?
Gru und vielen Dank
Nicole
Anzeige
AW: Daten aktualisieren im Makro
Herbert
Hallo Nicole
Das ist ein Beispiel aus der VBA Hilfe, Das kannst Du ja ändern
In diesem Beispiel wird eine Meldung angezeigt, die anzeigt, dass 10 Sekunden abgelaufen sind.
If Application.Wait(Now + TimeValue("0:00:10")) Then
MsgBox "Time expired"
End If
Z.B.:
If Application.Wait(Now + TimeValue("0:02:00")) Then
call Makro2
End If
Gruß Herbert
Anzeige
perfekt, vielen Dank
06.05.2004 12:58:21
Nicole
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Daten aktualisieren im Makro


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro zu erstellen, das Daten automatisch aktualisiert und ein weiteres Makro erst ausführt, nachdem die Aktualisierung abgeschlossen ist, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Erstelle das erste Makro:

    Sub Makro1()
       Workbooks.Open "Pfad\Zur\Deiner\Datei.xlsx" ' Pfad zur Datei anpassen
       Application.Wait (Now + TimeValue("0:02:00")) ' Warten auf die Datenaktualisierung
       Call Makro2 ' Startet das zweite Makro
    End Sub
  3. Erstelle das zweite Makro:

    Sub Makro2()
       ' Dein Code für das zweite Makro
       MsgBox "Daten wurden aktualisiert und das zweite Makro läuft jetzt."
    End Sub
  4. Speichern und Ausführen:

    • Speichere die Änderungen und führe Makro1 aus, um die Aktualisierung zu starten.

Häufige Fehler und Lösungen

  • Fehler: Das zweite Makro startet zu früh
    Lösung: Stelle sicher, dass der Application.Wait Befehl korrekt implementiert ist. Dies sorgt dafür, dass das zweite Makro erst nach zwei Minuten startet.

  • Fehler: Datei wird nicht gefunden
    Lösung: Überprüfe den Pfad zur Datei in deinem Makro. Achte darauf, dass der Dateiname und der Pfad korrekt sind.


Alternative Methoden

  • Verwendung von DoEvents: Eine alternative Methode, um das zweite Makro erst nach der Aktualisierung zu starten, könnte sein, DoEvents in einer Schleife zu verwenden, um sicherzustellen, dass das erste Makro abgeschlossen ist.

    Sub Makro1()
      Workbooks.Open "Pfad\Zur\Deiner\Datei.xlsx"
      Dim StartTime As Double
      StartTime = Timer
      Do While Timer < StartTime + 120 ' 120 Sekunden warten
          DoEvents
      Loop
      Call Makro2
    End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie du Excel automatisch aktualisieren kannst:

Sub AutomatischAktualisieren()
    Workbooks.Open "Pfad\Zur\Deiner\Datei.xlsx"
    Application.CalculateUntilAsyncQueriesDone ' Warten auf die Aktualisierung
    Call Makro2
End Sub

In diesem Beispiel wird sichergestellt, dass alle Berechnungen abgeschlossen sind, bevor das nächste Makro ausgeführt wird.


Tipps für Profis

  • Verwende On Error Resume Next: Damit kannst du Fehler im Makro abfangen, ohne dass das Makro sofort abbricht. Dies ist besonders nützlich, wenn du mit externen Datenquellen arbeitest.

  • Teste dein Makro schrittweise: Führe das Makro im Debug-Modus aus, um sicherzustellen, dass jede Zeile wie gewünscht funktioniert, bevor du das gesamte Makro laufen lässt.


FAQ: Häufige Fragen

1. Wie kann ich die Aktualisierung der Daten manuell durchführen?
Du kannst die Datei einfach öffnen und auf "Daten aktualisieren" klicken. Alternativ kannst du ein Makro erstellen, das diese Aktion ausführt.

2. Was ist, wenn die Aktualisierung länger als zwei Minuten dauert?
Du kannst die Zeit im Application.Wait Befehl anpassen, um sicherzustellen, dass genügend Zeit für die Aktualisierung eingeplant ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige