Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: DateDiff in Sekunden

DateDiff in Sekunden
24.04.2018 16:21:44
Tim
Hallo zusammen,
folgenden Code soll mir die Zeitdifferenz in Sekunden zwischen zwei Uhrzeiten ausgeben, jedoch funktioniert das nicht, könnt ihr mir sagen woran das liegt und wie man es löst!?
Sheets("Datenbank").Cells(Leerzeile, 5) = DateDiff("s", Sheets("Datenbank").Cells(k, 3), Sheets("Datenbank").Cells(k, 4))
In der Datenbank sind die Spalten als Uhrzeit formatiert.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DateDiff in Sekunden
24.04.2018 16:33:33
UweD
Hallo
hast du denn den Variablen Leerzeile und k auch Werte zugewiesen?
Bei mir klappt es
LG UweD
AW: DateDiff in Sekunden
24.04.2018 16:41:22
Tim
Ja, zumindest funktioniert der Rest.
Dim Ausführen As Boolean
Dim i As Long, k As Long
Dim Leerzeile As Long
AW: DateDiff in Sekunden
24.04.2018 16:48:24
UweD
Das ist nur die Deklination der Variablen
Sub ddhd()
    Dim Ausführen As Boolean
    Dim i As Long, k As Long
    Dim Leerzeile As Long
    
    With Sheets("Datenbank")
    
        'zum Test 
        Leerzeile = 1
        k = 6
    
        .Cells(k, 3) = CDate("16:00:30")
        .Cells(k, 4) = CDate("16:00:39")
    
        'Ende Test 
    
        .Cells(Leerzeile, 5) = DateDiff("s", .Cells(k, 3), .Cells(k, 4))
    End With
End Sub

LG UweD
Anzeige
AW: DateDiff in Sekunden
24.04.2018 16:58:43
Tim
Es funktioniert, jedoch nur bedingt. Er bringt mir als Ergebnis, unabhängig von der Formatierung eine ganze Zahl(immer -2) statt Sekunden.
AW: DateDiff in Sekunden
24.04.2018 17:09:54
UweD
Hallo
es muss ja auch eine ganze Zahl sein.
per Definition https://msdn.microsoft.com/de-de/vba/language-reference-vba/articles/datediff-function
Sonst bitte Musterdatei...
LG UweD
Anzeige
AW: DateDiff in Sekunden
25.04.2018 10:12:05
Daniel
Hi
Datum und Uhrzeit sind für Excel einfache Zahlen.
Das Datum wird durch den Ganzzahlanteil dargestellt und die Uhrzeit durch die Nachkommastellen
Ein Tag mit 24h entspricht dem Wert 1

=(Zeitwert2 - Zeitwert1) * 24 * 60 * 60
also:
Sheets("Datenbank").Cells(Leerzeile, 5) = (Sheets("Datenbank").Cells(k, 4) - Sheets("Datenbank").Cells(k, 3)) * 86400
DateDif braucht man eigentlich nur für die Zeiteinheiten Monat und Jahr.
Differenzen in Tagen oder kleineren Einheiten rechnet man besser direkt aus.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zeitdifferenz in Sekunden mit Excel und VBA berechnen


Schritt-für-Schritt-Anleitung

Um die Zeitdifferenz in Sekunden zwischen zwei Uhrzeiten in Excel zu berechnen, kannst Du den folgenden VBA-Code verwenden:

  1. Öffne Dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub ZeitdifferenzInSekunden()
       Dim Leerzeile As Long
       Dim k As Long
    
       With Sheets("Datenbank")
           Leerzeile = 1 ' Hier die Leerzeile anpassen
           k = 6 ' Die Zeile mit den Zeitwerten
    
           .Cells(k, 3) = CDate("16:00:30") ' Startzeit
           .Cells(k, 4) = CDate("16:00:39") ' Endzeit
    
           .Cells(Leerzeile, 5) = ( .Cells(k, 4) - .Cells(k, 3) ) * 86400 ' Ergebnis in Sekunden
       End With
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Zeitdifferenz in Sekunden zu berechnen.


Häufige Fehler und Lösungen

  • Fehler: Das Ergebnis ist immer -2.

    • Lösung: Stelle sicher, dass die Zellen in der Datenbank korrekt formatiert sind. Excel interpretiert Datum und Uhrzeit als Zahlen. Wenn die Zeit nicht richtig als Uhrzeit formatiert ist, kann dies zu falschen Berechnungen führen.
  • Fehler: Ungültige Werte für Leerzeile oder k.

    • Lösung: Überprüfe, ob Du diesen Variablen Werte zugewiesen hast, bevor Du das Makro ausführst.

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du die Zeitdifferenz auch direkt in einer Excel-Formel berechnen:

  1. Angenommen, die Startzeit befindet sich in Zelle A1 und die Endzeit in Zelle B1.
  2. Verwende die folgende Formel in einer anderen Zelle:

    =(B1 - A1) * 86400

Diese Formel multipliziert die Zeitdifferenz in Tagen mit 86400, um die Zeitdifferenz in Sekunden zu erhalten.


Praktische Beispiele

Hier sind einige Beispiele, um die Zeitdifferenz in Sekunden zu berechnen:

  1. Beispiel 1:

    • Startzeit: 14:30:00 (Zelle A1)
    • Endzeit: 14:45:00 (Zelle B1)
    • Formel: =(B1 - A1) * 86400
    • Ergebnis: 900 Sekunden
  2. Beispiel 2:

    • Startzeit: 08:15:00 (Zelle A2)
    • Endzeit: 08:30:00 (Zelle B2)
    • Formel: =(B2 - A2) * 86400
    • Ergebnis: 900 Sekunden

Tipps für Profis

  • Verwende die DateDiff-Funktion bei größeren Zeitdifferenzen (Monate, Jahre), da sie speziell für diese Zwecke konzipiert ist. Für die Berechnung der Zeitdifferenz in Sekunden ist die direkte Berechnung meist effizienter.
  • Denke daran, dass Excel intern Zeit als Dezimalzahlen behandelt. Ein Tag entspricht der Zahl 1, und daher sind 86400 Sekunden gleich 1 Tag.

FAQ: Häufige Fragen

1. Wie funktioniert die DateDiff-Funktion in VBA?
Die DateDiff-Funktion berechnet die Differenz zwischen zwei Zeitpunkten in verschiedenen Zeitintervallen (z. B. Sekunden, Minuten, Stunden). Beispiel: DateDiff("s", Startzeit, Endzeit) gibt die Differenz in Sekunden zurück.

2. Was mache ich, wenn ich negative Werte bei der Zeitdifferenz erhalte?
Überprüfe die Reihenfolge der Zeitwerte. Die Endzeit sollte immer nach der Startzeit liegen, um negative Werte zu vermeiden.

3. Kann ich Access für die Zeitdifferenzberechnung verwenden?
Ja, in Access kannst Du die DateDiff-Funktion ähnlich verwenden, aber achte darauf, dass Du die richtigen Datentypen für Datum und Uhrzeit verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige