Anzeige
Archiv - Navigation
800to804
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
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro zu bestimmter Zeit ausführen

Makro zu bestimmter Zeit ausführen
16.09.2006 04:10:08
astis
Hallo,
wie kann ich in meinem Fall dem Program sagen, das zB am 1. des nächsten Quartals eine Meldung erscheint "Bitte neue Preisliste verwenden?" und
die Tabelle ab diesem Zeitpunkt gesperrt ist um irrtümliche Eintragungen zu vermeiden ?
Müsste doch sowas sein wie "If HEUTE() = 01.10.2006 Than starte Makro XY oder so ?

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

Betreff
Datum
Anwender
Anzeige
AW: Makro zu bestimmter Zeit ausführen
16.09.2006 07:11:58
Renner
Möchten Sie ein Makro nach einer bestimmten Intervall-Zeit immer wieder ausführen?
Möchten Sie bspw. alle 30 Minuten erinnert werden, Ihre Rückenübungen zu machen oder ähnliches? Dann hilft Ihnen folgendes Makro weiter:
Private t As Boolean

Sub starten()
t = True
zeit = Time + TimeSerial(0, 30, 0)
Application.OnTime zeit, "generate_meldung"
End Sub


Sub generate_meldung()
MsgBox "Es ist Zeit etwas zu erledigen!!"
If t = True Then starten
End Sub


Sub beenden()
t = False
End Sub

Gestartet wird das Programm mit der Prozedur 'starten'.
Nach 30 Minuten wird die Prozedur 'generate_meldung' ausgeführt.
Hier kann nun jeder beliebige VBA-Code ausgeführt werden.
Mit der Prozedur 'beenden' schalten Sie das wiederholte Ausführen des Codes wieder ab.
In der Prozedur 'starten' können Sie die Intervallzeit beliebig einstellen.
Sie müssen einfach beim Befehl TimeSerial(Stunde, Minute, Sekunde) die gewünschte
Intervalldauer angeben.
Geeignet ist dieses Makro auch, um die laufende Uhrzeit in einer Zelle anzuzeigen.
Der entsprechende Code muss nur etwas abgewandelt werden und sieht wie folgt aus:
Die Änderungen sehen sie an den eingefärbten Code-Zeilen
Private t As Boolean

Sub starten()
t = True
zeit = Time + TimeSerial(0, 0, 1)
Application.OnTime zeit, "generate_meldung"
End Sub


Sub generate_meldung()
Sheets("Tabelle1").Cells(1, 1).Value = Time
If t = True Then starten
End Sub


Sub beenden()
t = False
End Sub

Dieser Code muss in einem Modul eingefügt werden! Nicht in einem Tabellenblatt!
Anzeige
AW: Makro zu bestimmter Zeit ausführen
16.09.2006 13:36:45
astis
Hallo Danke für den Ansatz, ich habe mich vielleicht allerdings schlecht ausgedrückt. Ich meinte ich will das Makro nicht zu einer bestimmten "UHR-Zeit" sondern an einem bestimmten Tag ausführen.
AW: Makro zu bestimmter Zeit ausführen
16.09.2006 14:54:11
Stefan
Hallo astis,
Im folgenden Code wird das heutige Datum mit dem Wert in einer Variablen verglichen, und wenn das heutige Datum >= dieser Variablen ist, der Code in der If-Schleife ausgefuehrt. Das mit dem Arbeitsblatt sperren muesstest Du noch etwas praezisieren, aber vielleicht weisst Du da ja schon wie Du das machen willst:

Private Sub Workbook_Open()
Dim myDate As Date
myDate = "9/16/06"
If Date <= myDate Then
MsgBox "Bitte neue Preisliste verwenden"
'// Code zum sperren der Tabelle
End If
End Sub

Den Code ins Modul "DieseArbeitsmappe" (oder so aehnlich, ich hab nur ein englisches System...) kopieren, und es wird jedesmal ausgefuehrt wenn die Datei geoeffnet wird. Mach Dir aber genaue Gedanken was Du damit dann eigentlich machen willst: unter welchen Bedingungen soll die Meldung nicht mehr angezeigt werden, wann ist der naechste Termin wann sie wieder erscheinen soll, ... Dieser Code bringt Dich dabei nur ein kleines Stueckchen weiter.
Schoene Gruesse
Stefan Br.
Anzeige
AW: Makro zu bestimmter Zeit ausführen
16.09.2006 16:45:24
astis
Hey super vielen Dank ,das bringt mich weiter !

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige