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

Datums- und Zeitprüfung

Datums- und Zeitprüfung
28.12.2003 16:12:31
Günther Nebel
Hallo Forum!

Vorab allen, die mir dieses Jahr halfen etwas mehr Wissen über Excel zu
erlangen, schöne Weihnachten und guten Rutsch. Dies gilt natürlichen allen
Forumsteilnehmern.
Und damit es nicht langweilig wird....

In der unten aufgeführten Userform habe ich in Textbox1 und Textbox4 jeweils
eine Datumseingabe und in Textbox8 und Textbox9 eine Uhrzeiteingabe.

FRAGE:
Wie kann ich erreichen, daß bei der Eingabe zwingend ein 8-stelliges Datum
(23.12.03) und die Uhrzeit mit Doppelpunkt (13:45) geprüft wird, bzw.
umgewandelt wird.
Und ist es generell möglich eine Abfrage zu erstellen, die prüft, ob alle
Textboxen befüllt wurden, bevor der Speichern-Button gedrückt werden kann?


Private Sub CommandButton2_Click()
'Daten speichern
Dim frm As UserForm
Dim TextBox1 As Date
Set frm = UserForm1
Sheets("Transportdaten").Activate
ActiveSheet.Unprotect password:="transporT"
Range("A65536").End(xlUp).Offset(1, 0).Select
'Unload.UserForm1
With frm
ActiveCell.Value = .TextBox1.Value
ActiveCell.Offset(0, 1).Value = .TextBox2.Value
ActiveCell.Offset(0, 2).Value = .TextBox3.Value
ActiveCell.Offset(0, 3).Value = .TextBox4.Value ' siehe Textbox1
ActiveCell.Offset(0, 5).Value = .TextBox5.Value
ActiveCell.Offset(0, 6).Value = .TextBox6.Value
ActiveCell.Offset(0, 7).Value = .TextBox7.Value
ActiveCell.Offset(0, 8).Value = .TextBox8.Value 'die Zeit soll geprüft
werden, ob mit Doppelpunkt erfasst wurde
ActiveCell.Offset(0, 9).Value = .TextBox9.Value ' siehe Textbox8
ActiveCell.Offset(0, 10).Value = .TextBox10.Value
ActiveCell.Offset(0, 11).Value = .TextBox11.Value
If .OptionButton1.Value = True Then
ActiveCell.Offset(0, 4).Value = "Maier"
Else
If .OptionButton2.Value = True Then
ActiveCell.Offset(0, 4).Value = "Huber"
Else
If .OptionButton3.Value = True Then
ActiveCell.Offset(0, 4).Value = "Selb"
Else
If .OptionButton4.Value = True Then
ActiveCell.Offset(0, 4).Value = "Achatz"
Else
If .OptionButton5.Value = True Then
ActiveCell.Offset(0, 4).Value = "Gruber"
End If
End If
End If
End If
End If
.TextBox1.Value = ""
.TextBox2.Value = ""
.OptionButton1 = False
.OptionButton2 = False
.OptionButton3 = False
.OptionButton4 = False
.OptionButton5 = False
.TextBox3.Value = ""
.TextBox4.Value = ""
.TextBox5.Value = ""
.TextBox6.Value = ""
.TextBox7.Value = ""
.TextBox8.Value = ""
.TextBox9.Value = ""
.TextBox10.Value = ""
.TextBox11.Value = ""
End With
ActiveSheet.Protect password:="transporT"
Sheets("Transportstartseite").Activate
UserForm1.Hide
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Datums- und Zeitprüfung
28.12.2003 16:18:02
Hajo_Zi
Hallo Günther

für das Datum habe ich mal einen Code entwickelt.

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, ".", "")) < 2 Then
TextBox6 = TextBox6 & "."
End If
End If
End Sub



Private Sub TextBox6_AfterUpdate()
BoEnter = True
If Right(TextBox6, 1) = "." Then TextBox6 = Mid(TextBox6, 1, Len(TextBox6) - 1)
'   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
BoEnter = False
End Sub


Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


Anzeige
AW: Datums- und Zeitprüfung
28.12.2003 16:29:55
Günther Nebel
lieber hajo, vielen dank vorab, werde gleich mal exceln....ciao
AW: Datums- und Zeitprüfung
28.12.2003 17:56:31
andre
hallo günther,
das geht auch mit weniger code.
im eingabefeld beschränkst du die eingabe auf zahlen und punkte.

Private Sub CBDatum_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Chr(KeyAscii) Like "[0-9.]" = False Then KeyAscii = 0
End Sub

dann prüfst du es auf datum

Private Sub CBDatum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(Me.CBDatum.Value) Then
Me.CBDatum.Value = CDate(Me.CBDatum.Value)' hier mit format auch anderes format möglich
Else
MsgBox "Datum falsch"
End If
End Sub

gruss andre
Anzeige
AW: Datums- und Zeitprüfung
28.12.2003 19:18:50
Hajo_Zi
Hallo Andre

Dein Code ist kürzer, aber bei Dir kann z.B. "..."; ".1"; 1..2" eingegeben werden um mal nur einige zu nennen.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro


310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige