Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro bei bestimmtem Datum ausführen

Makro bei bestimmtem Datum ausführen
23.08.2006 08:45:32
Josef
Hallo!
Ich möchte immer am 02.01. jeden Jahres ein Makro einmalig ausführen lassen.
Dieses Makro sollte am 02.01. auch nur einmal aufrufbar sein.
Wie würde hier bitte eine VBA Lösung lauten?
Danke
Josef

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

Betreff
Datum
Anwender
Anzeige
AW: Makro bei bestimmtem Datum ausführen
23.08.2006 09:25:59
Hans
Hallo Josef,
das könnte so aussehen:

Sub EinmalMakro()
Dim rng As Range
Dim dat As Date
Set rng = ThisWorkbook.Worksheets(1).Range("IV1")
dat = DateSerial(Year(Date), 1, 2)
If Date <> dat Then
Beep
MsgBox "Das Makro kann nur am 01.02." & vbLf & _
"eines jeden Jahres ausgeführt werden!"
Exit Sub
End If
If rng.Value = dat Then
Beep
MsgBox "Das Makro wurde für dieses Jahr schon ausgeführt!"
Exit Sub
End If
'Tue dies und das
rng.Value = Date
ThisWorkbook.Save
End Sub

gruss hans
AW: Makro bei bestimmtem Datum ausführen
23.08.2006 09:54:57
Josef
Hallo Hans!
Besten Dank für Deine Hilfe.
Ich wollte jetzt das Makro mit dem heutigen Tag
dat = DateSerial(Year(Date), 23, 8)
testen und bekam die Meldung
MsgBox "Das Makro kann nur am 01.02." & vbLf & _
"eines jeden Jahres ausgeführt werden!"
Muß unter IV1 noch ein Eintrag erfolgen?
Danke
josef
Anzeige
Fehler gefunden
23.08.2006 10:02:55
Josef
Hallo Hans!
Habe den Fehler gefunden.
Besten Dank nochmals für Deine Hilfe
Josef
AW: Makro bei bestimmtem Datum ausführen
23.08.2006 10:04:24
Hans
Hallo Josef,
stelle das Rechnerdatum auf den 02.01. und teste dann (danach zurückstellen wäre nicht übel)
In der Meldung soll es natürlich "02.01." statt "01.2." heissen. Dadurch kam es bei Dir auch zu folgendem Missverständnis: Bei DateSerial ist der zweite Parameter der Monat, der dritte der Tag.
gruss hans
AW: Makro bei bestimmtem Datum ausführen
23.08.2006 15:36:07
Josef
Hallo Hans!
Ich hätte bitte noch eine Frage:
Es würde alles mit dem einen Tag funktionieren. Wenn ich jetzt jedoch in einem Zeitraum vom 02.01 bis 10.01. das Makro nur einmal ausführen möchte, wo müßte ich dann bitte im Code noch etwas ändern?
Mit dem unteren code funktioniert es leider nicht.
Danke
josef

Private Sub CommandButton12_Click()
Dim rng As Range
Dim dat As Date
Set rng = ThisWorkbook.Worksheets(17).Range("IV1")
dat = DateSerial(Year(Date), 1, 2) - DateSerial(Year(Date), 1, 10)
If Date <> dat Then
Beep
MsgBox "Das Makro kann nur im Zeitraum vom 02.01. - 10.01." & vbLf & _
"eines jeden Jahres ausgeführt werden!"
Exit Sub
End If
If rng.Value = dat Then
Beep
MsgBox "Das Makro wurde für dieses Jahr schon ausgeführt!"
Exit Sub
End If
'Call Lösche_Monatsbericht
rng.Value = Date
End Sub

Anzeige
AW: Makro bei bestimmtem Datum ausführen
23.08.2006 15:44:04
Hans
Hallo Josef,
ohne es getestet zu haben, wie folgt:

Sub CommandButton12_Click()
Dim rng As Range
Dim datStart As Date, datEnd As Date
Set rng = ThisWorkbook.Worksheets(1).Range("IV1")
datStart = DateSerial(Year(Date), 1, 2)
datEnd = DateSerial(Year(Date), 1, 10)
If Date < datStart Or Date > datEnd Then
Beep
MsgBox "Das Makro kann nur im Zeitraum vom 02.01. - 10.01." & vbLf & _
"eines jeden Jahres ausgeführt werden!"
Exit Sub
End If
If rng.Value >= datStart And rng.Value <= datEnd Then
Beep
MsgBox "Das Makro wurde für dieses Jahr schon ausgeführt!"
Exit Sub
End If
rng.Value = Date
End Sub

gruss hans
Anzeige
AW: Makro bei bestimmtem Datum ausführen
24.08.2006 06:20:06
Josef
Hallo Hans!
vielen Dank für Deine Hilfe. Funktioniert bestens.
Schönen Tag noch
Josef

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige