HERBERS Excel-Forum - die Dialoge

Thema: 6-digitale Eingabe in Datum

Home
Abbildung - Vor letzter Ziffer
Vor letzter Ziffer Abbildung - Nach letzter Ziffer
Nach letzter Ziffer
  • Prozedur: txtDate_Change
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: 6-digitale Eingabe in Datum
  • Ablaufbeschreibung:
    • Variablendeklaration
    • TextBox-Inhalt in String-Variable einlesen
    • Wenn die String-Variable leer ist, Prozedur verlassen
    • Wenn das letzte Zeichen der String-Variablen nicht numerisch ist, dann...
    • String-Variable um ein Zeichen verkürzen
    • String-Variable in TextBox eingeben
    • Wenn die Länge der String-Variablen 6 ist...
    • Den String des zu einem Datumswert umgewandelten Wertes der String-Variablen in diese schreiben
    • Die Stirng-Variable in die TextBox schreiben
  • Code:

    
    Private Sub txtDate_Change()
       Dim sDate As String
       sDate = txtDate.Text
       If sDate = "" Then Exit Sub
       If Not Right(sDate, 1) Like "[0-9]" Then
          sDate = Left(sDate, Len(sDate) - 1)
          txtDate.Text = sDate
       End If
       If Len(sDate) = 6 Then
          sDate = Format(DateSerial( _
             "20" & Right(sDate, 2), _
             Mid(sDate, 3, 2), _
             Left(sDate, 2) _
             ), "dd.mm.yy")
          txtDate.Text = sDate
       End If
    End Sub