Für Lösungsvorschläge sage ich schon mal ganz herzlichen Dank.
Gruß
Klaus
'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 Integer) As 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
Problemstellung
Wie kann ich den standardmäßig vorgegebenen Freiraum am linken Rand von MS-Forms-Textfeldern unterdrücken?
Problemstellung
Wie kann ich in XL8 die Datumseingabe in ein Textfeld einer UserForm erzwingen?
Problemstellung
Wie kann ich die Werte aus einer Serie von UserForm-Textfeldern in die Spalte eines Tabellenblattes übertragen?
Problemstellung
Wie kann ich erreichen, dass der Cursor nach der Eingabe von 2 Ziffern in eine TextBox zur nächsten springt. Der Wert soll beim Verlassen der jeweiligen TextBox in der dem TextBox-Wert entsprechenden Spalte eingetragen werden.
Problemstellung
Nach einer UserForm-Textfeldeingabe soll eine Datumsprüfung erfolgen und bei negativem Ergebnis das Verlassen des Textfeldes verhindert werden.
Problemstellung
Im Texfeld einer UserForm-ComboBox soll immer der Wert aus Spalte 1 zusammen mit dem Wert aus Spalte 2 angezeigt werden, ohne dass das Auslesen der Auswahl beeinträchtigt wird.
Problemstellung
Wie kann ich die Datumseingabe im Format TTMMJJJJ in eine DialogEditBox kontrollieren und weiterverarbeiten lassen? Nach der Eingabe von 8 Zeichen soll der Focus an die nächste EditBox weitergegeben werden.
Problemstellung
Wie kann ich Datumsangaben über eine UserForm möglichst vereinfachen?