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

Forumthread: Makro nur einmal am Tag

Makro nur einmal am Tag
02.06.2005 10:46:57
Peter
Hallo,
gibt es die Möglichkeit ein Makro nur einmal am Tag ausführen zulassen, beim zweiten Mal sollte eine Info kommen.
Gruß
Peter
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nur einmal am Tag
02.06.2005 11:06:57
Werner
Hallo Peter

Sub Nur_Einmal()
If Sheets("Tabelle1").Range("A1") <> Date Then
MsgBox ("Das war für Heute das letzte mal")
Else
MsgBox ("Tschüss bis Morgen")
End If
Sheets("Tabelle1").Range("A1") = Date
End Sub

Gruss Werner
AW: Makro nur einmal am Tag
02.06.2005 11:51:32
Peter
Hallo Werner,
Ich wollte es eigentlich so, daß wenn ich den Buttom drücke, eine Meldung kommt und das Makro abbricht.
Danke
Peter
Anzeige
AW: Makro nur einmal am Tag
02.06.2005 13:11:07
Andi
Hi,
genau das macht doch der Code von Werner;
einfach Dein Makro in den If-Zweig, und die Meldung beim zweiten Aufruf in den else-Zweig.
Schönen Gruß,
Andi
AW: Makro nur einmal am Tag
02.06.2005 13:18:38
Werner
Hallo Andi
Danke für Deine Unterstützung. Bin gerade zurück vom Mittagessen.
Gruss Werner
AW: Makro nur einmal am Tag
02.06.2005 13:31:05
Andi
Gern geschehen... :-)
Ich misch mich ja normal nicht in 'fremde' threads ein, aber manchmal passiert es ja, dass man antwortet und dann den Rest des Tages nicht mehr an den Computer kommt.
Und da wollte ich Peter nicht zappeln lassen...
Schönen Gruß,
Andi
Anzeige
Danke, es funktioniert. OT
02.06.2005 13:38:51
Peter
Man sieht den Wald vor Bäumen nicht.
Danke für die Rückmeldung OT:-)
02.06.2005 13:40:33
Werner
;
Anzeige

Infobox / Tutorial

Makro nur einmal am Tag ausführen


Schritt-für-Schritt-Anleitung

Um ein Makro in Excel so zu konfigurieren, dass es nur einmal am Tag ausgeführt wird, kannst du den folgenden VBA-Code verwenden. Dieser Code prüft, ob das Datum in einer bestimmten Zelle (hier „A1“ auf „Tabelle1“) mit dem aktuellen Datum übereinstimmt. Wenn nicht, wird das Makro ausgeführt; andernfalls erhält der Benutzer eine Meldung.

Sub Nur_Einmal()
    If Sheets("Tabelle1").Range("A1") <> Date Then
        ' Hier kommt dein Makro-Code hin
        MsgBox ("Das Makro wird jetzt ausgeführt.")
    Else
        MsgBox ("Tschüss bis Morgen! Das Makro kann nur einmal am Tag ausgeführt werden.")
    End If
    Sheets("Tabelle1").Range("A1") = Date
End Sub

Füge den Code in den VBA-Editor ein (Alt + F11), erstelle ein neues Modul und teste das Makro. Achte darauf, dass du die richtige Excel-Version verwendest, um Komplikationen zu vermeiden.


Häufige Fehler und Lösungen

  1. Fehler: Das Makro wird immer ausgeführt.

    • Lösung: Stelle sicher, dass das Datum korrekt in der Zelle „A1“ eingetragen wird und dass die Zeit bei der Ausführung des Makros nicht berücksichtigt wird.
  2. Fehler: Meldung erscheint nicht.

    • Lösung: Überprüfe, ob der Code richtig in das Modul eingefügt wurde und dass keine Syntaxfehler vorliegen.
  3. Fehler: Das Makro wird nicht gestartet.

    • Lösung: Stelle sicher, dass du das Makro korrekt über einen Button oder das Menü ausführst.

Alternative Methoden

Eine alternative Methode wäre die Verwendung von Excel-Formeln, um eine ähnliche Funktionalität zu erreichen. Du könntest eine Zelle einrichten, die das Datum von der letzten Ausführung speichert, und dann mit einer Formel überprüfen, ob das Datum von heute abweicht. Allerdings ist dies weniger flexibel als ein VBA-Makro.


Praktische Beispiele

Nehmen wir an, du möchtest ein Makro zur Datenaktualisierung einmal täglich ausführen. Platziere den aktuellen Code innerhalb des If-Zweigs und füge deinen Code zur Datenaktualisierung ein:

Sub DatenAktualisieren()
    If Sheets("Tabelle1").Range("A1") <> Date Then
        ' Aktualisiere Daten
        Sheets("Daten").Calculate
        MsgBox ("Daten wurden aktualisiert.")
    Else
        MsgBox ("Die Daten wurden heute bereits aktualisiert.")
    End If
    Sheets("Tabelle1").Range("A1") = Date
End Sub

Mit diesem Beispiel kannst du sicherstellen, dass deine Daten nicht mehrmals am Tag aktualisiert werden.


Tipps für Profis

  • Verwende den Application.OnTime-Befehl, um das Makro zu bestimmten Zeiten automatisch auszuführen.
  • Setze eine separate Protokolldatei auf, um die Ausführungen des Makros zu dokumentieren.
  • Teste das Makro mehrmals, bevor du es in einer Produktionsumgebung einsetzt, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich das Makro automatisch starten? Eine Möglichkeit ist, das Makro mit dem Workbook_Open-Ereignis zu verknüpfen, sodass es beim Öffnen der Datei automatisch ausgeführt wird.

2. Was passiert, wenn ich die Datei schließe und wieder öffne? Das Makro wird erneut prüfen, ob es bereits ausgeführt wurde, basierend auf dem Datum in Zelle „A1“. Wenn du die Datei an einem anderen Tag öffnest, wird das Makro wieder ausgeführt.

3. Kann ich das Datum in einer anderen Zelle speichern? Ja, du kannst jede beliebige Zelle verwenden, indem du den Verweis im Code änderst. Achte darauf, dass das Datum nur einmal pro Tag aktualisiert wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige