HERBERS Excel-Forum - die Beispiele

Thema: UserForm-TextBox-Eingaben im Format [hh]:mm in Zellen übertragen

Home

Gruppe

Dialog

Problem

Eingaben in UserForm-TextBoxes im Format [hh]:mm sollen in diesem Format in den Spalten A:C eingetragen werden. Die TextBoxes sollen eine Eingabekontrolle für die Muster: ##:##, ###:## und ####:## enthalten.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul der UserForm ein.
ClassModule: frmHours

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Private Sub cmdInsert_Click()
   Dim iRow As Integer, iCol As Integer
   Dim sTxt As String, sFull As String, sTime As String, sHours As String
   iRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
   For iCol = 1 To 3
      sTime = Controls("TextBox" & iCol).Text
      sHours = Left(sTime, InStr(sTime, ":") - 1)
      sTxt = sHours
      sTxt = CInt(sTxt) Mod 24
      sFull = CInt(sHours) - CInt(sTxt)
      sTxt = sTxt & Right(sTime, Len(sTime) - InStr(sTime, ":") + 1)
      Cells(iRow, iCol).Value = CDate(sTxt) + CInt(sFull) / 24
   Next iCol
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim sTxt As String
   With TextBox1
      sTxt = .Text
      If Not sTxt Like "##:##" And _
         Not sTxt Like "###:##" And _
         Not sTxt Like "####:##" Then
         Cancel = True
         .SetFocus
         .SelStart = 0
         .SelLength = .TextLength
      End If
   End With
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim sTxt As String
   With TextBox2
      sTxt = .Text
      If Not sTxt Like "##:##" And _
         Not sTxt Like "###:##" And _
         Not sTxt Like "####:##" Then
         Cancel = True
         .SetFocus
         .SelStart = 0
         .SelLength = .TextLength
      
      End If
   End With
End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   Dim sTxt As String
   With TextBox3
      sTxt = .Text
      If Not sTxt Like "##:##" And _
         Not sTxt Like "###:##" And _
         Not sTxt Like "####:##" Then
         Cancel = True
         .SetFocus
         .SelStart = 0
         .SelLength = .TextLength
      End If
   End With
End Sub

StandardModule: Modul1

Sub CallForm()
   frmHours.Show
End Sub

Beiträge aus dem Excel-Forum zu den Themen Dialog und TextBox

Datum + Uhrzeit aus Textbox richtig in Zelle Textbox als Variable ansprechen?
Absatzzeichen in Textbox und Listbox verhindern UserForm TextBox mit ComboBox Datum vergleichen
teilstring aus textbox in andere Textbox Textbox Prüfung
Userform nicht gleich in TextBox aber wie? xlDialogInsertHyperlink.show
Textbox Multiline Abstand von Textbox bis zum unter. Rand ermitteln
Arbeitmappen über Dialogfeld zusammen fassen Daten aus Listbox in Textbox einlesen und zurück i
TextBox auf Tabellenblatt Textboxen mit Klassenmodul ansprechen
Combobox, CheckBox, TextBox Formatierung Grösse Textbox vom Seitenrand abhängig machen
TextBox - nur Datum zulassen! Tabelle in Textbox anzeigen lassen
niedrigster Wert aus Spalte in Textbox anzeigen Text mit Format in Textbox übertragen
Textlänge bei Eingabe in Textbox begrenzen Wenn man Textbox anklickt, Info
Einstellung TextBox Range in Textbox
Multiline Textbox 5.0 Dialog
VBA Form Textbox Frage zu TextBoxen auf eine UF
mit textbox wert suchen zeile in farbe Datum Textbox
Spinbutton in UF und Textbox Speichern unter Dialog in Word aufrufen inkl. Pfad
Multiline Textbox Textbox Format
Kann ich ein Array auch mit einer Textbox füllen Wie setzt man denn ein " Zeichen in eine Textbox
Textbox fest positionieren in excelsheet? Druckerdialog
Dateityp im "Speichern unter"-Dialog vorgeben userform>Textbox>Format
Makro stoppen, wenn Excel-Dialog? laufende Aktualisierung in Textbox
Wie mit Textboxen rechnen? CDate TextBox
Textbox Font.Size abhängig machen von Textlänge xlDialogOpen anpassen
Del in TextBox verhindern Textboxen umbenennen
Klick in definierten Rangebereich startet Dialog Begrenzung Text in Textboxen