PDA

Vollständige Version anzeigen : Wochenerinnerung in Userform anzeigen


Flori89
02.07.2014, 09:06
Hallo zusammen,

ich möchte gern, dass ich über VBA, alle zwei Wochen mit einer Msgbox erinnert werde.
So könnte es ja in der Tabelle aussehen, wenn ich im Arbeitsblatt ein Datum einsetze.

Private Sub Workbook_Open()
If Date >= Range("a1") + 14 Then
MsgBox "Bitte die Bewertungen speichern.", vbOKCancel
Range("a1") = Date
End If
End Sub


So möchte ich das jedoch nicht haben, es soll alles über die Userform funktionieren, das evtl dort ein datum festgelegt ist und er von dem Datum +14 rechnet und danach das gesetzte Datum aktualisiert.

Bin für jeden Tipp dankbar

lg Florian

Hajo_Zi
02.07.2014, 09:29
Hallo Florian,

benutze OnTime, dazu ist es da.

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

EarlFred
02.07.2014, 09:38
Hallo Florian,

in der Userform kannst Du nichts dauerhaft speichern. Hinterlegen könntest Du diese Information aber in einer benutzerdefinierten Eigenschaft:
Option Explicit

Sub test()
Dim lastDate As Date
Dim d As DocumentProperty

'Nach der gewünschten Dateieigenschaft suchen und wenn gefunden, Wert auslesen.
For Each d In ThisWorkbook.CustomDocumentProperties
If d.Name = "letzteÄnderung" Then
lastDate = d.Value
Exit For
End If
Next d

'lastDate ist beim ersten Durchlauf 0, da kein Datum existiert.
If lastDate = 0 Then
ThisWorkbook.CustomDocumentProperties.Add "letzteÄnderung", False, msoPropertyTypeDate, Date + 14
Else
'setzt ein neues Datum nur dann, wenn das vorhandene <= dem heutigen ist
If lastDate <= Date Then ThisWorkbook.CustomDocumentProperties("letzteÄnderung").Value = lastDate + 14
End If

Set d = Nothing
End Sub

Wie Du das Datum abgreifst, um es zu prüfen, kannst Du dem Code sicher entnehmen.

Der Code stellt sicher, dass diese Dateieigenschaft auch tatsächlich existiert, indem er alle vorhandenen durchsucht. Kannst Du die Existenz anderweitig sicherstellen, könntest Du Dir diese Schliefe sparen.

Grüße
EarlFred

GMG-CC
02.07.2014, 09:40
Moin Florian,

grundsätzlich wäre es aber hilfreich zu wissen, wie denn jetzt deine UserForm aufgerufen wird und was da schon alles passiert. Sprich: Welcher Code steht da sonst noch drin?