Anzeige
Archiv - Navigation
1684to1688
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
Inhaltsverzeichnis

Verbleibende Zeit berechnen

Verbleibende Zeit berechnen
04.04.2019 15:21:40
Tim
Hallo zusammen,
dank eurer Unterstützung war es mir heute möglich eine Zeitberechnung zu erstellen. Die dazugehörigen Zeiten zu Arbeitsbeginn, Arbeitsende und Pausenzeit als Ganzzahl lese ich in eine Listbox ein. Anschließend soll er mir zur aktuellen Uhrzeit, die verbleibenden Stunden bis zum Arbeitsende berechnen. Das alles funktioniert sehr gut.
Jetzt liegt die Herausforderung darin, dass die Pausenzeit abgezogen werden muss, wenn die aktuelle Zeit vor 11:30 Uhr liegt, jedoch bekomme ich das nicht umgesetzt.
Bsp.:Wenn aktuelle Zeit Mit folgendem Code habe ich es ergebnislos probiert.
Private Sub CommandButton1_Click()
Dim i As Integer
Dim Stunden As Double
Dim Pause As Date
Pause = CDate("11:30")
Stunden = 0
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
'Stunden = Stunden + Round((DateDiff("n", Time, .List(i, 3)) / 60), 2)
Stunden = Stunden + Round((DateDiff("n", IIf(Time > Pause, Stunden - .List(i, 5), Time), _
.List(i, 3)) / 60), 2)
End If
Next i
End With
TextBox2 = VBA.Format(Stunden, "#0.00")
Label9.Caption = Time
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Verbleibende Zeit berechnen
06.04.2019 03:12:34
fcs
Hallo Tim,
ohne Beispieldaten ist schwer abzuschätzen, was ggf. in einem Makro nicht korrekt berechnet wird.
In dieser Zeile musst du nach meiner Einschätzung den Wert von Time (=Dezimalwert eines Tages) korrekt in Stunden umrechnen.
     Stunden = Stunden + Round((DateDiff("n", IIf(Time > Pause, Stunden - .List(i, 5), Time), _
.List(i, 3)) / 60), 2)

wird zu
        Stunden = Stunden + Round((DateDiff("n", IIf(Time > Pause, Stunden - .List(i, 5), _
Time * 24), .List(i, 3)) / 60), 2)
Da du in einer Schleife ggf. mehrere selektierte Zeilen in der Listbox auswertest und aufaddierst und dabei das jeweilige Zwischenergebnis auch im IIf-Ausdruck verwendest, bin ich nicht sicher ob die Berechnung da korrekte Ergebnisse liefert.
LG
Franz
Anzeige
AW: Verbleibende Zeit berechnen
08.04.2019 09:10:43
Tim
Hallo Franz,
ich habe es wie folgt gelöst:
Private Sub ()
Stunden = IIf(Time 

und es scheint zu funktionieren, danke dir für deine Antwort.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige