Hallo ihr VBA Profis.
Habe ein kleines Problem.
Ich erstellte mittels UserForm (start) ein kleines Programm zur Protokollverwaltung. In der ersten UserForm ist einen Listbox die mir Daten aus einer Tabelle wieder gibt.
Wiederrum diese Daten werden mittels UserForm (eingabe) in die Tabelle eingetragen.
Nun möchte ich, wenn das heutige Datum 4 Tage vor dem eingegeben Datum in Spalte E ist, dass eine MsgBox aufgeht die mir sagt "Achtung...Frist läuft bald ab".
Das einzige wenn in Spalte P etwas drin steht, soll keine MsgBox kommen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Dim xZeil As Integer , i As Integer , xName As String , xDatum As Date , xMeld As String , xTage As Double
With Sheets( "ia" )
xZeil = Range( "E100" ). End (xlUp).Row
For i = 2 To xZeil
If Cells(i, 5) >= Date And Cells(i, 5) < Date + 4 And Cells(i, 15) = "" Then
xName = Cells(i, 2)
xDatum = Cells(i, 5)
xTage = Cells(i, 5) - Date
xMeld = xMeld & " - " & xName & " in " & xTage & " Tagen" & Chr(10) & Chr(10)
End If
Next
If xMeld = "" Then Exit Sub
MsgBox "! ! ! ACHTUNG ! ! ! " & vbCrLf & vbCrLf & "Frist läuft ab bei: " & vbCrLf & vbCrLf & xMeld, vbInformation
End With
|
Der Code funktioniert zwar, aber leider nur wenn ich die Daten händisch in das Tabellenblatt einfüge und nicht wenn wie gewünscht die Daten über die Userform eingegeben werden.
Vielleicht kann mir jemand helfen.
Der Ehrlichkeitshalber: ich habe diese Frage schon in einem anderen Forum gestellt. Jedoch leider keine hilfreiche bzw. brauchbare Lösung erhalten.
Ich bedanke mich im Vorfeld schon mal
Lg Patrick
|