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 ausrechnen

Zeit ausrechnen
04.10.2005 15:23:44
Darren
Sali,
ich habe eine kleine Herausforderung :-)
Wie kann ich eine ZEIT/Stunden ausrechnen(Excel VBA - als Code), wenn z.B. ich folgende Tabelle habe:
Problem A:
1. Spalte -
Begin der Berechnung
Datum 01.10
Uhrzeit 09:00
2. Spalte
Ende der Berechnung
Datum 02.10
Uhrzeit 23:00
Ich weiß, dass das Ergebnis 38 sein muss. Aber wie ermittle ich das per Code?
Problem B - Daten aus Problem A übernehmen:
Ich will berechen, wieviel Stunden eine Maschine braucht um ein Teil zu Produzieren (zwecks Kosten und Zeit ermittlung), und das über die Schichten die er beansprucht. Alle Schichten haben 8 Stunden!
Die Zeit der Schichten:
06-14 Uhr
14-22 Uhr
22-06 Uhr

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ergänzung
04.10.2005 15:30:31
Darren
Bei Problem B will ich wissen, in wie weit hat die Maschinen, in Stunden, die Schichten beansprucht.
Grüße und freue mich auf Eure Antworten! Das Problem ist echt spannend!
problem A
04.10.2005 15:38:17
harry
hi,
st = 24 - Hour(ActiveSheet.Cells(1, 1)) + Hour(ActiveSheet.Cells(1, 2))
wobei die zeitangaben in a1 und b1 stehen und die zellen benutzerdefiniertes format TT.MM.JJJJ hh:mm haben.
liebe grüße,
harry
AW: problem A
04.10.2005 15:51:34
Darren
Danke, aber die letzte Datei hilft mir nicht weiter, leider! Aber Danke trotzdem!
Freue mich auf weitere Vorschläge!
AW: problem A
04.10.2005 16:03:43
Darren
Hi Harry,
mit Dein Code konnte ich die Differenz ausrechnen. Danke! So bin ich ein klein wenig weiter!
Freue mich auf weitere Lösungen zu Problem B!!!
DAnke
DArren
Anzeige
harry
04.10.2005 16:18:07
Darren
Hallo Harry,
ich habe den Code eingeführt, aber es berechnet nur 15 Stunden und nicht die gewollten 38 Stunden.
Gibt es da ein Ausweg, damit er die Tage unterscheidet?
AW: Zeit ausrechnen
04.10.2005 16:27:09
Darren
Hi Angel,
leider hat mir das "Gefundene" nicht weiter geholfen.
Freue mich auf weitere Vorschläge besodners was Problem B angeht!
AW: Zeit ausrechnen
04.10.2005 19:00:21
Peter
Servus,
primär ist zu sagen, das dein Feedback nicht sonderlich hilfreich ist. Ein vernünftiges Feedback sagt was nicht passt.
Da deine Fragestellung auch nicht besonders präzise ist, währe Punkt 1 richtig ausgeführt, um so wichtiger.
Nun als mein Versuch, des ganzen, Tabellenaufbau.
Tabelle1
 AB
101.10.200502.10.2005
209:0023:00
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Und folgendes Makro.
Sub t() Dim datStart As Date, datEnde As Date, datTime1 As Date, datTime2 As Date Dim dblTage As Double, dblZeit As Double 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 MsgBox "Gesamtdauer " & dblTage + dblZeit & " Stunden" MsgBox "Anzahl der verbrauchten Schichten: " & (dblTage + dblZeit) / 8 End Sub
Generel bleibt zu bemerken, das dies mit xls Boardmitteln wesentlich leichter zu lößen wäre.
MfG Peter
Anzeige
AW: Zeit ausrechnen
05.10.2005 08:34:53
Darren
Hallo Peter,
vielen Dank für Deine Antwort!
Ich werde versuchen mein Feedback so genau wie möglich abzugeben.
Ja, in Excel selbst wäre es vielleicht besser zu lösen, aber ich brauche diesem Code um immer wieder externe Excel-Tabellen auslesen zu können und in einer neuen Datei eibauen zu können.
So, jetzt setze ich Dein Code mal um.
Bis dann!
Darren
GRüße
AW: Zeit ausrechnen
05.10.2005 08:55:34
Darren
Hi Peter,
ist es auch noch möglich diesen Code zu erweitern - folgt unten die Anweisungen:
Wenn bekannt ist, dass meine Schichten so aussehen
Früh 06 - 14 Uhr
Spät 14 - 22 Uhr
Nacht 22 - 06 Uhr
und ich weiß, dass meine Maschine von 9 Uhr vom 01.10 bis 23 Uhr vom 02.10 produziert hat, dann würde ich gerne diese Ergebnisse der Beanspruchung der Maschine haben wollen pro Schicht:
09 - 14 Uhr = 5 Stunden der Frühschicht
14 - 22 Uhr = 8 Stunden der Spätschicht
22 - 06 Uhr = 8 Stunden der Nachtschicht
06 - 14 Uhr = 8 Stunden der Frühschicht ( inTag 2)
14 - 22 Uhr = 8 Stunden der Spätswchicht ( in Tag2)
22 - 23 Uhr = 1 Stunde der Nachtschicht (in Tag2)
Insgesamt müsste es 38 Stunden sein.
Ich brauche diese differenzierte Berechnung um die anfallenden Kosten die eine Machine, für ein bestimmtes Produkt, pro Schicht verursacht hat.
Herzlichen Dank für die Hilfe in Deiner letzten Mail. Das hilft mir schon sehr weiter!
Grüße
Darren
Anzeige
mein letzter Beitrag zum Thema....
05.10.2005 22:59:17
Peter
Servus,
... da sich mir ehrlich gesagt der Sinn des ganzen nicht erschliest, der ganze unten folgende Code wäre mit nachfolgendem Tabellenaufbau sinnlos und damit deutlich einfacher zu händeln.
Tabelle1
 ABC
101.10.200502.10.200538
209:0023:00 
309 - 14 Uhr = 5 Stunden der Frühschicht5,00 
414 - 22 Uhr = 8 Stunden der Spätschicht8,00 
Formeln der Tabelle
C1 : =((B1-A1)*24)+((B2-A2)*24)
B3 : =14-(A2*24)
B4 : =WENN($C$1-SUMME($B$3:B3)<=0;0;WENN($C$1-SUMME($B$3:B3)>8;8;$C$1-SUMME($B$3:B3)))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  


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


Anzeige
AW: Zeit ausrechnen
05.10.2005 22:26:21
Aton
Hallo
A1="01.10.2005" Datumsformat
B1="02.10.2005" Datumsformat
C1=GANZZAHL(B1-A1)*24+(REST(B1-A1;1)*24) Zahl-Format mit 2 , Stellen
Gruß
Aton
AW: Zeit ausrechnen Datum+Zeit
06.10.2005 23:49:24
Aton
Hallo
A1="01.10.2005 09:00" Datums-Zeitformat
B1="02.10.2005 23:00" Datums-Zeitformat
C1=GANZZAHL(B1-A1)*24+(REST(B1-A1;1)*24) Zahl-Format mit 2 , Stellen
Gruß
Aton

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige