Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
276to280
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
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige