2017-10-25 3 views
2

Ich habe versucht, den Unterschied in Stunden und Minuten zwischen 2 Daten mit Format TT/MM/JJJJ hh: mm zu finden. Der Code, den ich verwende, funktioniert (irgendwie) gut, aber es berücksichtigt nicht den Unterschied in den Tagen. Also, wenn das erste Datum 28/09/2017 11:35 und das zweite 30/09/2017 13:45 ist, dann wird es sagen, dass der Unterschied 02:10 ist. Aber die richtige Antwort ist 50:10 (50 Stunden und 10 Minuten). Ich stelle den folgenden Code zur Verfügung.Finden Sie den Unterschied in Stunden und Minuten von zwei Daten mit Format TT/MM/JJJJ hh: mm

With ws1.Range("N2:N" & lastrow1) 
    .Formula = "=NOW()-E2" 
    .NumberFormat = "h:mm:ss" 
End With 

Antwort

2

Mit den eckigen Klammern können Sie die übergelaufenen Werte wiederherstellen.

.NumberFormat = "[h]:mm:ss" 

EDIT (für die Frage in Kommentaren):
Excel intelligent genug ist, dass, wenn eine Formel Zellbezüge verwendet wird, wird es entsprechend umzusetzen versuchen.

Alternativ können Sie versuchen:

With ws1.Range("N2:N" & lastrow1) 
    .Formula = "=NOW()-(DateValue(E2)+TimeValue(E2))" 
    .NumberFormat = "[h]:mm:ss" 
End With 
+0

Patrick, das hat super funktioniert !! Allerdings wollte ich Ihnen eine Frage stellen ... Die Daten in der E-Spalte sind im Textformat, aber die NOW-Daten sind im Zahlenformat. Wenn ich das Makro ausführe, wird das Ergebnis korrekt gedruckt ... Fällt es aus, dass es in der Zukunft Bugs geben wird, oder wird es kein Problem geben, da ich das Zahlenformat nach dem Unterschied benutze? –

+0

Wenn die Antwort richtig ist, bitte markieren Sie sie als "Beantwortet", indem Sie auf das große Häkchen unter der Wahlmöglichkeit klicken – Maldred

+0

Patrick vielen Dank nochmal !! –

Verwandte Themen