Uhrzeit in Textbox

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Uhrzeit in Textbox
von: Xelleron (Dennis)
Geschrieben am: 12.04.2005 21:47:47
Hallo zusammen,
bin gerade ein wenig am verzweifeln. Ich habe folgendes vor.
Und zwar habe ich 3 TB auf einer UF:
TB1 = Anfangszeit
TB2 = Endzeit
TB3 = Differenz
Jetzt habe ich folgendes geschrieben:


Private Sub CommandButton1_Click()
If TextBox1.Value > "0" Then
TextBox3.Value = TextBox2.Value - TextBox1.Value
Else
MsgBox "Es wurde keine Zeit angegeben!", vbExclamation, "Hinweis"
End If
Dim tb As Object
For Each tb In UserForm1.Controls
If TypeName(tb) = "TextBox" Then tb = Format(Application.WorksheetFunction.Substitute(tb, ":", ""), "00:00")
Next tb
End Sub

Wenn ich zum Bsp. 0730 und 1530 eingebe, dann wird in TB3 08:00 ausgegeben - völlig ok.
Wenn aber in TB2 ein "gerader" Wert wie "1600" eingeben wird, dann kommt nicht 08:30 sondern 08:70 heraus. WIESO?
Gruß Dennis
Bild

Betrifft: AW: Uhrzeit in Textbox
von: Herbert
Geschrieben am: 12.04.2005 22:14:07
Hi,
Datentypumwandlung mit CDate, nur Value reicht nicht.
mfg Herbert
Bild

Betrifft: AW: Uhrzeit in Textbox
von: Xelleron (Dennis)
Geschrieben am: 12.04.2005 22:18:58
Du meinst so:
CDate(TextBox2.Value - TextBox1.Value) ???
Dann kommen aber ganz krumme Werte bei raus.
Mir ist aber auch in den Sinn gekommen, das die Berechnung ja mit 100er Werten läuft und Uhrzeit nur bis 60. Gibt es dafür eine Lösung?
Gruß Dennis
Bild

Betrifft: AW: Uhrzeit in Textbox
von: Herbert
Geschrieben am: 12.04.2005 22:28:20
CDate(TextBox2) - Cdate(TextBox1)
mfg Herbert
Bild

Betrifft: AW: Uhrzeit in Textbox
von: Xelleron (Dennis)
Geschrieben am: 13.04.2005 06:50:04
Hallo noch mal Herbert,
also die Funktion mit CDate vor beiden TB hat keine Veränderung gebracht, denke es liegt daran, daß bei Std nur 60 min eine Std ergeben, in dem Fall/Eingabe aber "1Std" 100 min hat.
Wie kann man das einrichten? Habe das bisher so gemacht, aber da sind dann ne Menge anderer Controls ausgeblendet:
Dim zeit1, minute1
zeit1 = Hour(tb1)
minute1 = minute(tb1)
tb3 = Hour(tb1)
tb4 = minute(tb1)
zeit2 = Hour(tb2)
minute2 = minute(tb2)
tb5 = Hour(tb2)
tb6 = minute(tb2)
tb7 = tb5 - tb3
tb8 = tb6 - tb4
tb9.Value = tb7 & ":" & tb8
Das geht doch sicher geschickter.
Gruß Dennis
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Uhrzeit in Textbox"