Uhrzeitdifferenzen mit VBA berechnen

Dieses Thema Uhrzeitdifferenzen mit VBA berechnen im Forum "Microsoft Office Suite" wurde erstellt von doadweis, 22. Aug. 2007.

Thema: Uhrzeitdifferenzen mit VBA berechnen Hallo Excelexperten, ich habe ein riesen Problem mit Excel.Folgende Tabelle zeigt einen Aussschnitt aus den...

  1. Hallo Excelexperten,

    ich habe ein riesen Problem mit Excel.Folgende Tabelle zeigt einen Aussschnitt aus den Rohdaten,Gesamtgröße betragt 1357 Zeilen!

    A B C D
    Datum Team Anfang Ende
    01.03.2006 Team A 23:25:00 23:43:00
    02.03.2006 Team B 00:01:00 00:30:00
    02.03.2006 Team C 01:06:00 01:26:00


    Ziel soll es sein eine Uhrzeitdifferent von (D-C) zu berechnen und in einem 2. Schritt soll (D - C2) berechnet werden.
    Das Problem von (C-D) und die zu Berücksichtigung der 24h Problematik habe ich in folgender Formel gelöst : =WENN(C2<=D2;(1-C2)-(1-D2);1-C2+D2)

    Wie kann ich aber jetzt (D-C2 ) berechnen und die Ergebnisse von (D-C) und (D-C2) in 2 neuen Spalten automatisiert mit VBA über alle 1357 Zeilen ausgeben.

    Kann mir da jemand mit der Syntax helfen.
    Ich bin da mit meinem Latein am Ende. Bitte helft mir!
     
  2. Hallo doadweis,

    a) soll C2 der erste Wert in Spalte C sein = 23:25:00 ?
    b) Soll die Differenz D-C in Spalte E stehen ?
    c) Soll die Differenz D - C2 in Spalte F stehen ?
    d) In welchen Einheiten/Format sollen die Differenzen ausgegeben werden? [h]:mm ?

    Gruß Matjes :)

    Makro könnte dann so aussehen:
    Code:
    Sub Zeitdifferenz_DMinusC_DminusC2()
    
     Const cZ_ErsteWerteZeile = 2
     Const cSP_Datum = 1
     Const cSP_Team = 2
     Const cSP_Anfang = 3
     Const cSP_Ende = 4
     Const cSP_DminusC = 5
     Const cSP_DminusC2 = 6
      
     Dim ws As Worksheet
     Dim lRows As Long, z As Long
     Dim sDate As String, sZeit As String, sZeit2 As String
     Dim dDateC2 As Date, dDateAnf As Date, dDateEnd As Date
     
     
     Set ws = ActiveSheet->aktives Blatt setzen
     
    ->letzte relevante zeile aus Datumsspalte bestimmen
     lRows = ws.Cells(ws.Rows.Count, cSP_Datum).End(xlUp).Row
     
    ->Anfangszeit C2 bestimmen
     sDate = Format(ws.Cells(cZ_ErsteWerteZeile, cSP_Datum).Value, dd.mm.yyyy)
     sZeit = Format(ws.Cells(cZ_ErsteWerteZeile, cSP_Anfang).Value, hh:nn:ss)
     dDateC2 = sDate &   & sZeit
     
     ws.Columns(cSP_DminusC).NumberFormat = [h]:mm:ss
     ws.Columns(cSP_DminusC2).NumberFormat = [h]:mm:ss
     
     For z = cZ_ErsteWerteZeile To lRows
      
     ->Anfangszeit
      sDate = Format(ws.Cells(z, cSP_Datum).Value, dd.mm.yyyy)
      sZeit = Format(ws.Cells(z, cSP_Anfang).Value, hh:nn:ss)
      dDateAnf = sDate &   & sZeit
      
     ->EndeZeit
      sZeit = Format(ws.Cells(z, cSP_Ende).Value, hh:nn:ss)
      dDateEnd = sDate &   & sZeit
      
     ->Endzeit liegt im Tag nach Anfangszeit
      If dDateEnd < dDateAnf Then dDateEnd = dDateEnd + 1
      
     ->D - C
      ws.Cells(z, cSP_DminusC).Value = dDateEnd - dDateAnf
      
     ->D - C2
      ws.Cells(z, cSP_DminusC2).Value = dDateEnd - dDateC2
     Next
    AUFRAEUMEN:
     Set ws = Nothing
    End Sub
     
  3. Danke für die Hilfe Matjes!

    Leider habe ich immer noch Probleme.Kann ich dir mal einen Ausschnitt aus der originalen Excel-Datei per Mail schicken?
     
  4. Jo, schick mal. Bitte < 10MB ;)
     
Die Seite wird geladen...

Uhrzeitdifferenzen mit VBA berechnen - Ähnliche Themen

Forum Datum
Excel Uhrzeiten berechnen Microsoft Office Suite 2. Juli 2014
LibreOffice Calc: Zeitdifferenz berechnen und als Industriestunden anzeigen StarOffice, OpenOffice und LibreOffice 26. Jan. 2013
Kalenderwoche in Excel berechnen Microsoft Office Suite 16. Mai 2011
Excel - Buchstaben im Hintergrund durch Zahlen ersetzen, um zu berechnen Microsoft Office Suite 8. Okt. 2009
Excel berechnen von - / + Stunden Microsoft Office Suite 14. Aug. 2009