Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA - DateDiff formatieren

VBA - DateDiff formatieren
25.05.2007 00:14:00
Christian
Hallo VBA-Profis,
ich brauche in VBA eine Funktion, um die Differenz von 2 Zeitstempel zu berechnen.
Ich vermute mal - DateDiff ist da der richtige Ansatz...
DateDiff wird aber als Long ausgegeben - ich möchte jedoch DateDiff im Format:
"Tage Stunden:Minuten:Sekunden"
erzeugen.
Bsp:
Differenz zwischen "31.12.2006 23:59:59" und "01.01.2007 00:00:01" ergibt: "0d 00:00:02h"
Differenz zwischen "01.02.2007 00:00:00" und "01:03:2007 00:00:00" ergibt: "28d 00:00:00h"
Differenz zwischen "31.12.2006 23:59:59" und "01:03:2007 00:01:01" ergibt: "59d 00:01:02h"
Differenz zwischen "11.12.2001 13:41:20" und "01:03:2007 00:08:30" ergibt: "1990d 10:27:10h"
könnt ihr mir bei der Umsetzung helfen?
vielen Dank vorab
Gruß Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
?Format(now-cdate("01.05.2007"),"d\d hh:mm:ss\h")
25.05.2007 01:22:36
NoNet
?Format(now-cdate("01.05.2007"),"d\d hh:mm:ss\h")
_oT

AW: ?Format(now-cdate("01.05.2007"),"d\d hh:mm:ss\h")
25.05.2007 07:40:13
Christian
Hallo NoNet,
das funktioniert nicht. (siehe Code)
Gruß
Christian

Sub testDiff()
Dim datStart As Date
Dim datEnd As Date
datStart = CDate("31.12.2006 23:59:59")
datEnd = CDate("01.01.2007 00:00:01")
MsgBox Format(datEnd - datStart, "d\d hh:mm:ss\h") '30Tage statt 0
datStart = CDate("31.12.2006 23:59:59")
datEnd = CDate("01.03.2007 00:01:01")
MsgBox Format(datEnd - datStart, "d\d hh:mm:ss\h") '27Tage statt 59
End Sub


AW: ?Format(now-cdate("01.05.2007"),"d\d hh:mm:ss\h")
25.05.2007 09:14:00
AndrRo
Hallo Christian,
probiere mal:
Msgbox Int(CDbl(datEnd) - CDbl(datStart)) & "d " & Format(datEnd - datStart, "hh:mm:ss\h")
gruss
Andreas

Anzeige
Danke!
25.05.2007 18:33:00
Christian
hallo Andreas,
das war's - vielne Dank
gGruß
Christian

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige