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

Forumthread: Uhrzeit in Textbox ohne :

Uhrzeit in Textbox ohne :
Mister-B
Hallo,
in einer Userform möchte ich, dass der Anwender eine Uhrzeit in einen TextBox eingeben kann ohne, dass er den Doppelpunkt eingeben muss. Im Forum habe ich diesen Code gefunden:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Text = Format(CDate(TextBox1.Text), "hh:mm")
End Sub
Er liefert zwar das richtige Format, macht aus jede Eingabe 00:00
Wer kann helfen?
Gruß
Martin
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Uhrzeit in Textbox ohne :
11.01.2012 12:32:41
Josef

Hallo Martin,
am besten gleich bei der Eingabe das richtige Format erzwingen.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  uhrzeit TextBox1, KeyAscii
End Sub


Private Sub uhrzeit(ByRef theBox As MSForms.TextBox, ByVal KeyAscii As MSForms.ReturnInteger)
  'Eingabebeschränkung Textbox_Uhrzeit mit autom. Doppelpunkt
  'Format hh:mm
  Select Case Len(theBox)
    Case 0
      Select Case KeyAscii
        Case 48 To 50
        Case Else
          KeyAscii = 0
      End Select
    Case 1
      If Left(theBox, 1) = 2 Then
        Select Case KeyAscii
          Case 48 To 51
          Case Else
            KeyAscii = 0
        End Select
      Else
        Select Case KeyAscii
          Case 48 To 57
          Case Else
            KeyAscii = 0
        End Select
      End If
    Case 2
      Select Case KeyAscii
        Case 48 To 53, 58
          If KeyAscii <> 58 Then theBox = theBox & ":"
        Case Else
          KeyAscii = 0
      End Select
    Case 3
      If Right(theBox, 1) = ":" Then
        Select Case KeyAscii
          Case 48 To 53
          Case Else
            KeyAscii = 0
        End Select
      End If
    Case 4
      Select Case KeyAscii
        Case 48 To 57
        Case Else
          KeyAscii = 0
      End Select
    Case Else
      KeyAscii = 0
  End Select
End Sub



« Gruß Sepp »

Anzeige
AW: Uhrzeit in Textbox ohne :
11.01.2012 14:04:22
Luschi
Hallo Josef,
habe Deinen Code so abgeändert, daß der Doppelpunkt bereit nach der Eingabe der 2. Ziffer im _ Textfeld erscheint bzw. wenn als 1. Ziffer eine 3 usw. getippt wird, dann auf 03: vervollständigt wird.

Private Sub UhrZeit(ByRef theBox As MSForms.TextBox, ByVal KeyAscii As MSForms.ReturnInteger)
'Eingabebeschränkung Textbox_Uhrzeit mit autom. Doppelpunkt
'Format hh:mm
'by Josef Ehrensberger
'a little enhanced by Luschi
Dim ok As Boolean
Select Case Len(theBox)
Case 0
Select Case KeyAscii
Case 48 To 50
Case 51 To 57
'erste Ziffer 3 bis 9 --> 03: - 09:
theBox.Value = theBox.Value & "0" & Chr(KeyAscii) & ":"
KeyAscii = 0
Case Else
KeyAscii = 0
End Select
Case 1
ok = True
If Left(theBox, 1) = 2 Then
Select Case KeyAscii
Case 48 To 51
Case Else
ok = False
KeyAscii = 0
End Select
Else
Select Case KeyAscii
Case 48 To 57
Case Else
ok = False
KeyAscii = 0
End Select
End If
If ok Then
'2. Ziffer korrekt, dann ':' ranhängen
theBox.Value = theBox.Value & Chr(KeyAscii) & ":"
KeyAscii = 0
End If
Case 2
Select Case KeyAscii
Case 48 To 53, 58
Case Else
KeyAscii = 0
End Select
Case 3
If Right(theBox, 1) = ":" Then
Select Case KeyAscii
Case 48 To 53
Case Else
KeyAscii = 0
End Select
End If
Case 4
Select Case KeyAscii
Case 48 To 57
Case Else
KeyAscii = 0
End Select
Case Else
KeyAscii = 0
End Select
End Sub
Gruß von Luschi
aus klein-Paris
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
Anzeige

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