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
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
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
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