HERBERS Excel-Forum - das Archiv
Zeit zählen in Userform
Juergen

Hallo Excel Gemeinde
Habe in einer Userform 2 Comboboxen und 1 Labelfeld
Combobox1 = 00:45 Uhr
Combobox2 =2:30 Uhr
Labelfeld1 soll die zeit ( also 01:45 ) von cb1 und cb2 errechnet werden.
Was muss zur Errechnung für das Labelfeld in der userform hinterlegt werden
Gruss und schönen Sonntag noch
Jürgen

AW: Zeit zählen in Userform
Daniel

HI
du brauchst diesen Code:
if IsDate(Combobox1).Value and IsDate(Combobox2).Value then
label1.caption = Format(CDate(Combobox2.Value)-CDate(Combobox1.Value), "hh:mm")
Else
Label1.Caption = ""
end if
dieser Code muss immer laufen, wenn eine der beiden Comboboxen geändert wird, dh. er muss in das Change-Event beider Comboboxen eingefügt werden.
Gruß, Daniel
AW: Zeit zählen in Userform
Juergen

Hallo Daniel
habe es mal mit deiner Version probiert, bekomme aber immer einen Fehler.
Hab mal ein Beispiel hochgeladen, kannste es ändern damir es läuft
Gruß
Jürgen
https://www.herber.de/bbs/user/66084.xls
AW: Zeit zählen in Userform
Daniel

Hi
sorry, in meinem Code ist noch ein Fehler drin (passiert halt leider, wenn man keine Beispieldatei zum Testen hat)
Setz mal die Klammern richtig, dann gehts
if IsDate(Combobox1.Value) and IsDate(Combobox2.Value) then
Gruß, Daniel
AW: Zeit zählen in Userform
Juergen

Hallo Daniel
jau super klappt, eine frage habe ich noch wenn ich zb. 3 Zeiten untereinander habe wie kann ich dann diese in einen anderen Label zusammenrechnen
Siehe Beispiel
https://www.herber.de/bbs/user/66086.xls
Gruss und Danke nochmals
Juergen
AW: Zeit zählen in Userform
Daniel

Hi
Dim GesamtZeit as Date
If IsDate(Label1.Caption) Then GesamtZeit = CDate(Label1.Caption)
If IsDate(Label3.Caption) Then GesamtZeit = gesamtzeit + CDate(Label3.Caption)
If IsDate(Label5.Caption) Then GesamtZeit = gesamtzeit + CDate(Label5.Caption)
Label7.Caption = Format(GesamtZeit, "hh:mm")
Gruß, Daniel
AW: Zeit zählen in Userform
Juergen

Hi
Allerletze Frage da ich zu dumm bin.
Wo muss dieser Code eingebaut werden
Juergen
AW: Zeit zählen in Userform
Daniel

Überall da, wo eine Veränderung des Einzelwertes eine Veränderung der Gesamtzeit bewirken könnte, dh im Change-Event jeder Combobox.
oder du baust einen Zusätzlichen Button mit der Funktion: "Gesamtzeit aktualisieren" ein, das vereinfacht dir die Programmierung, da du den Code nur einmal einfügen musst, allerdings hast du dann keine automatische aktualisierung der Gesamtzeit, sondern immer nur auf Knopfdruck.
Gruß, Daniel
AW: Zeit zählen in Userform
Juergen

Hi
müsste das nochmals geändert haben möchte erreichen wenn ich in Textox1 zb. 3 eintrage das die zeit von Summe CB1-Cb2 mal 3 multipliziert als Ergebnis angezeigt wird
Beispiel
https://www.herber.de/bbs/user/66140.xls
Gruss
Jürgen
AW: Zeit zählen in Userform
Daniel

Hi
mit CINT(Textbox1.Value) wandelst du den Text der Textbox in eine Zahl um.
diese Zahl musst du dann mit der Differenz aus den beiden Zeitwerten der Comboboxen multipliziern.
ist doch nich so schwer:
Label1.Caption = Format(CInt(Textbox1.Text)*(CDate(Combobox2.Value)-CDate(Combobox1.Value)), "hh:mm")
die Namen der Steuerelemente musst du noch an deine Verhältnisse anpassen.
Gruß, Daniel
AW: Zeit zählen in Userform
Gerd

Hallo Jürgen,
ich gehe mal davon aus, dass eine Datenprüfung in den Comboboxen erfolgt.
Label1.Caption = Format(TimeValue(Replace(ComboBox2.Text, " Uhr", "")) - TimeValue(Replace(ComboBox1.Text, " Uhr", "")), "hh:mm")
Gruß Gerd