Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
724to728
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
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Textfeld in Formular, nur Datumseingabe
28.01.2006 16:11:26
Bergmann
Wie kann ich ein Textfeld in einem Formular so formatieren, dass es dem Anwender nur möglich ist, ein Datum einzugeben und zwar im Format TT.MM.JJJJ
Für Lösungsvorschläge sage ich schon mal ganz herzlichen Dank.
Gruß
Klaus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeld in Formular, nur Datumseingabe
28.01.2006 16:45:40
Peter
Servus,
versuchs mal so.


      
'Userform
Option Explicit
Private Sub CommandButton1_Click()
If DatOK(Me.TextBox1.Text, 4) = False Then
    Me.TextBox1.Text = ""
    MsgBox "Keine Richtige Datumseingabe !", vbCritical, "Bitte ändern !!!"
End If
End Sub
'Allgemeines Modul
Option Explicit
Public Function DatOK(varWert As Variant, Stellen_Jahr As IntegerAs Boolean
'Eingabeformat 16.11.05 / TT.MM.JJ = DD.MM.YY = Stellen_Jahr 2
'Eingabeformat 16.11.2005 / TT.MM.JJJJ = DD.MM.YYYY = Stellen_Jahr 4
Dim intlen As Integer, intMon As Integer, intDay As Integer, intYear As Integer
Select Case Stellen_Jahr
    
Case 2: intlen = 8
    
Case 4: intlen = 10
End Select
If Len(varWert) > intlen Or Len(varWert) < intlen Then _
    
GoTo FalschesDatum
If Mid(varWert, 3, 1) <> "." Or Mid(varWert, 6, 1) <> "." Then _
    
GoTo FalschesDatum
intMon = Mid(varWert, 4, 2) * 1
intDay = Left(varWert, 2) * 1
If Not IsNumeric(intDay) Or Not IsNumeric(intMon) _
    
Then GoTo FalschesDatum
    
If Stellen_Jahr = 2 Then
        intYear = ("20" & Right(varWert, 2)) * 1
        
If Not IsNumeric(intYear) Then _
            
GoTo FalschesDatum
    
ElseIf Stellen_Jahr = 4 Then
        intYear = Right(varWert, 4) * 1
        
If Not IsNumeric(intYear) Then _
            
GoTo FalschesDatum
    
End If
Select Case intMon
    
Case 1, 3, 5, 7, 8, 10, 12
        
If intDay > 31 Then _
            
GoTo FalschesDatum
    
Case 4, 6, 9, 11
        
If intDay > 30 Then _
            
GoTo FalschesDatum
    
Case 2
        
If intDay > 28 Then
            
If Month(DateSerial(intYear, intMon, intDay)) <> intMon Then _
                
GoTo FalschesDatum
        
End If
    
Case Else
        
GoTo FalschesDatum
End Select
DatOK = 
True
Exit Function
FalschesDatum:
DatOK = 
False
End Function 


MfG Peter
Anzeige
AW: Textfeld in Formular, nur Datumseingabe
28.01.2006 17:29:31
Bergmann
Hallo Peter,
vielen Dank !
Funktioniert genau so wie ich es mir vorgestellt habe.
Gruß
Klaus

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige