Folgenden Code benütze ich um eine Textbox (Datum) in die Tabelle zurückzuschreiben:
Private Sub textbox287_AfterUpdate()
Dim datumlager As String
Dim datok As Boolean
datok = True
Select Case Len(TextBox287.Value)
Case 6 'Wenn 6-Stellig dann Jahreszahl um 19 ergänzen, trotzdem rot darstellen zur Kontrolle!
datumlager = Mid(TextBox287.Value, 1, 2) & "." & Mid(TextBox287.Value, 3, 2) & "." & "19" & Mid(TextBox287.Value, 5, 4)
TextBox207.Value = datumlager
datok = False
Case 8 ' Nur Punkte ergänzen
datumlager = Mid(TextBox287.Value, 1, 2) & "." & Mid(TextBox287.Value, 3, 2) & "." & Mid(TextBox287.Value, 5, 4)
TextBox287.Value = datumlager
datok = True
Case 10
'nop (No operation) Datum ist bereits ok
Case Else 'alle anderen Fälle abweisen
TextBox287.Value = "Datum ?"
datok = False
End Select
If datok = True Then
If CDate(TextBox287) < CDate(TextBox206) Then
MsgBox "Achtung: Ende Beitragszahlungsdatum liegt vor dem Beginndatum!"
Else
If CDate(TextBox287) > CDate(TextBox207) Then
MsgBox "Achtung: Ende Beitragszahlungsdatum liegt hinter dem Ablaufdatum!"
Else
Range("b218") = TextBox287
End If
End If
If datok = True Then 'Wenn Datum Ok dann Schrift normal
Worksheets("Dateneingabe").Range("b218") = TextBox287
TextBox287.ForeColor = &H80000012
Else ' sonst Schriftfarbe auf ROT setzen
TextBox287.ForeColor = &HFF&
End If
End If
End Sub
Range("b218") = TextBox287
Viele Grüsse
selma