Anzeige
Archiv - Navigation
1244to1248
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
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

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

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige