2017-01-09 1 views
0

Ich schreibe ein Makro (für Excel) in VBA.Berechnen der Zeitdifferenz zwischen zwei Daten (TT/MM/JJJ HH/MM) VBA (Makro Excel)

Ich habe diese Art von Feldern (in der zweiten und in der dritten Spalte):

Fecha/Hora inicio Fecha/Hora finalización 
02/01/2017 21:32 03/01/2017 6:02 
02/01/2017 6:02  03/01/2017 7:32 
03/01/2017 7:38  04/01/2017 13:47 

Und ich möchte in Stunden, um die Zeitdifferenz zwischen dem ersten und dem zweiten Feld kennen. Im zweiten Fall beträgt der Unterschied beispielsweise 25,5 Stunden.

Wie kann ich das tun? Ich habe versucht, es manuell zu berechnen, aber ich bin mir sicher, dass es einen ziemlich automatischen Weg dafür gibt. Und ich kann keine Beispiele mit genau diesem Format finden.

Dank

+2

Wenn die beiden Säulen waren A und B, dann in Excel einer Formel (in, sagen wir, Zelle C2) könnte '= (B2-A2) * 24 'sein, aber für eine VBA-Lösung, siehe die Antwort von @barrowc – YowE3K

Antwort

2

VBA hat eine Funktion DateDiff genannt, die den Unterschied zwischen zwei Daten im Sinne einer bestimmten Einheit (alles von Jahren Sekunden) misst. Für diesen Fall müssen wir in Minuten messen, weil wir Bruchteile einer Stunde messen und dann durch 60 dividieren wollen, um zu den Stunden zurückzukehren. Wenn wir nur ganze Stunden wollten, könnten wir stattdessen in Stunden messen.

Die folgende Beschreibung ist das gewünschte Ergebnis liefern:

MsgBox DateDiff("n", "02/01/2017 6:02", "03/01/2017 7:32")/60 

„n“ für Minuten in der DatDiff Funktion das Intervall Spezifizierer

+0

Das ist, was ich gesucht habe. Ich fand viele komplizierte Beispiele, keine Ahnung warum, wenn wir mit dieser Funktion alles haben. Danke Kumpel. –