Hallo VBA Experte,
ich habe vier Bätter:
Blatt Täglich sollen Zelleninhalte täglich gelösht werden (nue einmal am Tag)
Blatt Wochentlich ich sollen Zelleninhalte Wöchentlich gelösht werden (nur einmal pro Woche)
usw.
Der Cde soll am am Sart automatisch ausgeführt werde. Hat jemand eine Ide, hätte mich gerette.
Vielen Dank schon im Vorfeld
Option Explicit
Private Sub Workbook_Open()
End Sub
Public Type typeDatum
Tag As Boolean
Woche As Boolean
Monatlich As Boolean
Vierteljahr As Boolean
End Type
Private Datum As typeDatum
Sub main()
Dim Referenzdatum As Date
Referenzdatum = CDate(ThisWorkbook.Worksheets("Taeglich").Range("J1").Value)
With Datum
.Tag = IIf(DateDiff("d", Referenzdatum, Date, vbUseSystemDayOfWeek) >= 1, True, False)
.Woche = IIf(DateDiff("ww", Referenzdatum, Date, vbUseSystemDayOfWeek) >= 1, True, False)
.Monatlich = IIf(DateDiff("m", Referenzdatum, Date, vbUseSystemDayOfWeek) >= 1, True, False)
.Vierteljahr = IIf(DateDiff("m", Referenzdatum, Date, vbUseSystemDayOfWeek) >= 3, True, False)
End With
If Datum.Tag = True Then _
.ClearContents "Tag: " & Datum.Tag
.Range("D7:87,E7:E87").ClearContents
Sheets("Taeglich").CheckBoxes.Value = False
Selection.FormatConditions.Delete
If Datum.Woche Then _
.ClearContent "Woche: " & Datum.Woche
.Range("D7:87,E7:E87").ClearContents
Sheets("Woechentlich").CheckBoxes.Value = False
Selection.FormatConditions.Delete
If Datum.Monat Then _
.ClearContent "Monat: " & Datum.Monat
.Range("D7:87,E7:E87").ClearContents
Sheets("Monatlich").CheckBoxes.Value = False
Selection.FormatConditions.Delete
If Datum.Vierteljahr = True Then _
.ClearContent "Vierteljahr: " & Datum.Vierteljahr
.Range("D7:87,E7:E87").ClearContents
Sheets("Vierteljahr").CheckBoxes.Value = False
Selection.FormatConditions.Delete
End Sub
|