Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum in Textfeld

Forumthread: Datum in Textfeld

Datum in Textfeld
05.07.2003 12:29:34
Heiner
Hallo Excels,
in ein Textfeld soll ein Datum im Format "dd.mm.yy" eingegeben werden.
Wenn die Eingabe nicht im Format "dd.mm.yy" erfolgt, soll eine Fehlermeldung
ausgegeben werden, der Cursor in das Feld zurück gesetzt werden und im
Textfeld soll möglichst das Format TT.MM.JJ angezeigt werden.
Irgendwie klappt das nicht mit meinem Code.
Code (1):
Es wird keine Datumseingabe ("tt.mm.yy" und "tt.mm.yyyy") akzeptiert :-(

Private Sub GebDatum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(GebDatum.Value = "dd.mm.yy") Then
Cancel = True
MsgBox "Datumsformat falsch!", vbOKOnly + vbCritical, "Fehlerhaftes Datum"
End If
With ANMELDE_DIALOG.GebDatum
.SelStart = 0
.SelLength = Len(.Value)
End With
End Sub

Code (2):
Es werden Eingaben im Format "dd.mm" und "dd.mm.yy" akzeptiert :-(

Private Sub GebDatum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(GebDatum.Value) Then
Cancel = True
MsgBox "Datumsformat falsch!", vbOKOnly + vbCritical, "Fehlerhaftes Datum"
End If
With ANMELDE_DIALOG.GebDatum
.SelStart = 0
.SelLength = Len(.Value)
End With
End Sub

Wer kann mir mit Tips weiterhelfen oder den Code entsprechend "umstricken"???
Gruß
Heiner
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum in Textfeld
05.07.2003 12:54:24
Holger Levetzow
da kannst du alles mögliche absichern. Helfen wird wohl schon:
If Not (IsDate(GebDatum.Value)) Or Len(GebDatum.Value) < 8 Then
Allerdings geht auch die Eingabe 12.05.2003
mit =8 geht dann nur die gewünschte Eingabe.
Holger

AW: Datum in Textfeld
05.07.2003 12:52:10
ChrisL
Hi Heiner
Option Explicit

Private Sub GebDatum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(GebDatum) Or Len(GebDatum) <> 8 Then
Cancel = True
If IsDate(GebDatum) Then GebDatum = Format(GebDatum, "dd.mm.yy")
MsgBox "Datumsformat falsch!", vbOKOnly + vbCritical, "Fehlerhaftes Datum"
End If
With ANMELDE_DIALOG.GebDatum
.SelStart = 0
.SelLength = Len(.Value)
End With
End Sub

Gruss
Chris

Anzeige
AW: Datum in Textfeld
05.07.2003 13:14:33
Heiner
Hallo Chris,
vielen Dank, das klappt bestens!!!!
Gruß
Heiner
Bei der Gelegenheit...
Danke auch an Holger und Paul

AW: Datum in Textfeld
05.07.2003 12:48:23
Paul
Hallo Heiner

Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   Datumseingabe  01.01.03;1.1.03 oder komlettes Jahr
'   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_AfterUpdate()
'   Jahreszahl vom aktuellen Jahr ergänzen falls nicht vorhanden
If Len(TextBox6) - Len(Application.Substitute(TextBox6, ".", "")) = 1 Then
TextBox6 = TextBox6 & "." & Year(Date)
End If
If IsDate(TextBox6.Text) Then
If Format(CDate(TextBox6.Value), "dd.mm.yy") <> TextBox6 Then
MsgBox "Das Datum wurde übersetzt"
End If
TextBox6 = Format(CDate(TextBox6.Value), "dd.mm.yy")
Else
TextBox6 = ""
End If
End Sub

Gruß

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige