Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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
Zahl in textbox direkt in Datum wandeln
03.02.2009 11:09:00
Chris
Hallo Excelperten,
ich schäme mich fast ein wenig, dass ich "VBA gut" bei mir stehen habe und diese Frage stelle, aber irgendwie kommt kommt mir keine passende Idee und im Archiv habe ich auch nichts passendes gefunden.
Also, das Problem:
Ich habe eine userform über die ich diverse Daten eingebe so auch mehrfach ein Datum. Diese werden dann später in das entprechende Sheet eingefügt. Damit die Eingabe schneller geht, würde ich das Datum gerne ohne Punkte eingeben (also statt 03.02.2009 nur 03022009) und wenn ich in diese Textbox verlasse um weitere Eingaben zu machen, sollen sofort automatisch die Punkte gesetzte werden.
Kann einer mal eben mit dem Zaunpfahl winken wie ich das hinbekomme?
Danke im Voraus
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: Zahl in textbox direkt in Datum wandeln
03.02.2009 11:13:00
Hajo_Zi
Hallo Chris,

Option Explicit
Dim BoEnter As Boolean
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   erstellt von Hajo.ziplies@web.de  Stand 01.08.03
'   Datumseingabe  01.01.03;1.1.03 oder komlettes Jahr
'   Eingabe des Tages und des Monat zweistellig werden die Punkte automatisch gesetzt
'   sie können nur gelöscht durch markierung des punktes und der Zahl davor
'   Buchstaben werden ausgeschlossen, nur Zahlen und Punkt
'   die Überprüfung ob Datum erfolgt in Private Sub TextBox6_AfterUpdate()
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
If Len(TextBox6) = 0 Then
KeyAscii = 0
Else
If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) = 2 Then
KeyAscii = 0
ElseIf Len(TextBox6) > 1 Then
If Mid(TextBox6, Len(TextBox6), 1) = "." Then KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox6_Change()
If BoEnter = True Then Exit Sub
If Len(TextBox6) = 2 Then
If InStr(TextBox6, ".") = 0 And BoEnter = False Then TextBox6 = TextBox6 & "."
ElseIf Len(TextBox6) = 5 Then
If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", ""))  TextBox6 Then
MsgBox "Das Datum wurde übersetzt"
End If
TextBox6 = Format(CDate(TextBox6.Value), "dd.mm.yy")
Else
TextBox6 = ""
End If
BoEnter = False
End Sub



Anzeige
AW: Zahl in textbox direkt in Datum wandeln
03.02.2009 11:24:00
Chris
Hi Hajo
soweit ich den Code auf die schnelle verstehe scheint dies die Lösung zu sein. Ist eigentlich gar nicht so schwer, wenn man mal einen Ansatz hat und nicht auf der Leitung sitzt ;-)
Danke für die schnelle Hilfe!
AW: Zahl in textbox direkt in Datum wandeln
04.02.2009 01:17:12
Daniel
Hi
so vielleicht, allerdings ohne Prüfung ob der Wert auch einem Datum entspricht.
ebenso muss das Jahr auch immer 4- und der Monat immer 2-stellig eingegeben werden (dh 01012009 und nicht 1109)

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox1
If IsNumeric(.Text) Then .Text = Format(CLng(.Text), "00"".""00"".""0000")
End With
End Sub


Gruß, Daniel

Anzeige

365 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige