Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
836to840
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
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Datumeingabe in TextBox
11.01.2007 09:00:56
Mister
Hallo Profis!
Ich habe eine große UserForm gebastelt mit vielen TextBoxen. Kann man ein TextBox mit VBA so formatieren, dass man den Punkt nicht mehr eingeben muss. z.B. man tippt 11012007 und beim Verlassen des TextBoxes wird aus dem eingegeben Datum 11.01.2007? Ich hab etwas ähnliches aus dem Forum hier - mann gibt eine Zahl ein und sie wird umformatiert. Aus 123456 wird automatisch 123/45/6. Hier der Code:

Private Sub TextBox4_Change()
Dim i As Integer, s1 As String, s2 As String
s1 = Trim(Me.TextBox4.Text)
''alle "/"-Zeichen entfernen
s1 = Replace(s1, "/", "", 1, -1)
i = Len(s1)
Select Case i
Case 0 To 3: ''nichts machen
Case 4:    s2 = " 0\/00\/0"
Case 5:    s2 = "00\/00\/0"
Case Else: s2 = "000\/00\/0"
End Select
Me.TextBox4.Value = Format(s1, s2)
End Sub

Leider kriege ich es nicht hin diesen Code so anzupassen.
Wer hat eine Idee?
Gruß
Mister B

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumeingabe in TextBox
11.01.2007 09:32:47
Rudi
Hallo,
so etwa:

Private Sub TextBox1_Change()
If Len(TextBox1) = 8 And InStr(TextBox1, ".") = 0 Then
TextBox1 = DateSerial(Right(TextBox1, 4), Mid(TextBox1, 3, 2), Left(TextBox1, 2))
End If
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Datumeingabe in TextBox
11.01.2007 09:41:06
Peter
Hallo Mister B,
das könnte z. B. so gehen:

Private Sub CommandButton1_Click()
Dim Datum    As String
Dim Eingabe  As String
Eingabe = Me.TextBox1.Value
If Eingabe = "" Then
Datum = "Leer"
ElseIf InStr(1, Eingabe, ".") = 0 Then
If Len(Eingabe) = 6 Or Len(Eingabe) = 8 Then
Datum = Left(Eingabe, 2) & "." & Mid(Eingabe, 3, 2) & "." & Mid(Eingabe, 5)
Else
Datum = "falsches Format"
End If
End If
Me.Hide
MsgBox "Eingabe:  " & Eingabe & Chr(10) & Chr(10) & _
"Ergebnis:  " & Datum, 64, "   das Ergebnis"
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Datumeingabe in TextBox
11.01.2007 10:02:11
Mister
Hallo Jungs!
@ Rudi Deine Lösung funktioniert super.
@ Peter Der MsgBox erscheint schon bei der Eingabe der ersten Zahl! Bin leider nicht fit genug in VBA um rauszukriegen woran es liegt!
Gruß
Mister B

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige