Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
676to680
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
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeit Berechnung Teil-2

Zeit Berechnung Teil-2
11.10.2005 11:24:14
Darren
Hallo Peter W. oder anderer Experter,
ich bin nach einer Woche wieder zurück auf der Arbeit - deshalb die späte Rückmeldung!
Unten ist der Code zur berechnung der Schichten, der Du mir zur verfügung gestellt hast - DANKE!
Das originale Datum ist:
A1 =01.10.2005
A2 =02.10.2005
B1 =09:00
B2 =23:00
Ich habe mal ein anderer Wert zum Testen der Funktionalität eingetragen.
A1 =01.10.2005
A2 =01.10.2005 (selber Tag wie oben)
B1 =15:00
B2 =20:00
Hier müsste die erste Schichte 0 betragen und die Spätschicht 5 Stunden. Aber leider berechnet er das falsch. Kannst Du da mal bitte schauen?
Hier nochmal die Zeiten der Schichten:#
06-14 Uhr
14-22 Uhr
22-06 Uhr
Code:
__________________

Sub t()
Dim datStart As Date, datEnde As Date, datTime1 As Date, datTime2 As Date
Dim dblTage As Double, dblZeit As Double, dblGesamt As Double, dblRest As Double, dblAnzeige As Double
Dim intZähler As Integer, intTag As Integer
With Sheets("Tabelle1")
datStart = .Range("A1")
datTime1 = TimeSerial(Hour(.Range("A2")), Minute(.Range("A2")), Second(.Range("A2")))
datEnde = .Range("B1")
datTime2 = TimeSerial(Hour(.Range("B2")), Minute(.Range("B2")), Second(.Range("B2")))
End With
dblTage = (datEnde - datStart) * 24
dblZeit = (datTime2 - datTime1) * 24
dblGesamt = dblTage + dblZeit
dblRest = dblGesamt
dblAnzeige = 14 - (datTime1 * 24)
intZähler = 1
intTag = 1
Do
If dblRest <= 0 Then Exit Do
MsgBox "Tag " & intTag & " / Schicht " & intZähler & " / " & dblAnzeige & " Stunden"
dblRest = dblRest - dblAnzeige
If dblRest > 8 Then
dblAnzeige = 8
Else
dblAnzeige = dblRest
End If
intZähler = intZähler + 1
If intZähler > 3 Then
intTag = intTag + 1
intZähler = 1
End If
Loop
End 

Sub

		

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige