Anzeige
Archiv - Navigation
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inhalt der Textbox in Datum umwandeln

Inhalt der Textbox in Datum umwandeln
23.05.2007 14:21:56
Florian
Hallo!
Ich habe ein Userform, das mehrere Textboxen enthält! In eine dieser Textboxen wird ein Datum eingtragen! Ich gebe das Datum bis jetzt z. B. so ein: "01.01.2007"
Ich möchte das Datum aber so "01012007" oder "010107" eingeben!
Wie erreiche ich, dass beim Verlassen der Textbox, die Werte "01012007" oder "010107" in das Format "01.01.2007" umgewandelt werden. Sollte der Wert im richtigen Format oder ein ganz anderer Wert eingebenen sein, soll natürlich nichts passieren!
Danke für eure Hilfe!
Florian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt der Textbox in Datum umwandeln
23.05.2007 14:49:00
Armin
Hallo Florian,
schreibe in der Zuweisung : Format(Textbox1.Value,"dd.mm.yyyy")
Armin

AW: Inhalt der Textbox in Datum umwandeln
23.05.2007 16:47:19
Florian
Hallo!
Habe nun folgenden Code gefunden und abgeändert!

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'   TMMJJ , T.MM.JJ, TTMMJJ, TT.MM.JJ, TTMMJJJJ, TT.MM.JJJJ, TMMJJJJ, T.MM.JJJJ als Eingabe
'   Monat und Jahr müssen IMMER mindestens zweistellig angegeben werden.
Dim sDatum    As String
Dim sEingabe  As String
Dim sJahr     As String
Dim sMonat    As String
Dim sTag      As String
If Not Me.TextBox1.Value = "" Then ' TextBox ist nicht leer ?
Application.EnableEvents = False
On Error GoTo Fehler
sEingabe = CStr(CLng(Trim(Me.TextBox1.Value)))
If Left(Me.TextBox1.Value, 1) = "0" Or _
Len(sEingabe) = 5 Or Len(sEingabe) = 7 Then
sEingabe = "0" & sEingabe
End If
If Len(sEingabe) = 6 Then       ' als TTMMJJ/TT.MM.JJ
sTag = Left(sEingabe, 2)
sMonat = Mid(sEingabe, 3, 2)
sJahr = Right(sEingabe, 2)
If Val(sJahr) > 30 Then      ' Jahreszahl > 30 ?
sJahr = "19" & sJahr      ' dann 1900
Else                        ' sonst
sJahr = "20" & sJahr      ' Jahr 2000
End If
ElseIf Len(sEingabe) = 8 Then   ' als TTMMJJJJ/TT.MM.JJJJ
sTag = Left(sEingabe, 2)
sMonat = Mid(sEingabe, 3, 2)
sJahr = Right(sEingabe, 4)
End If
sDatum = sTag & "." & sMonat & "." & sJahr
If IsDate(sDatum) Then
Me.TextBox1.Value = sDatum
Else
With TextBox1
.Value = ""
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
Application.EnableEvents = True
On Error GoTo 0
End If
If Not IsDate(TextBox1.Text) Then
MsgBox "Bitte ein richtiges Datum eingeben!"
With TextBox1
.Value = ""
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
Exit Sub
Fehler:
Application.EnableEvents = True
End Sub


Ich möchte jetzt nur noch erreichen, dass wenn ein falsches Datum eingeben wird, nach der MsgBox "Bitte ein richtiges Datum eingeben!" der Cursor auf die TextBox1 zurückspringt!
Wie kann ich das erreichen?
mfg
Florian

Anzeige
AW: Inhalt der Textbox in Datum umwandeln
23.05.2007 21:04:00
Rudi
Hallo,
If Not IsDate(TextBox1.Text) Then
Cancel=true
...
...
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge