2012-06-28 3 views
4
Dim dtmStart As Date, dtmEnd As Date, dblDuration As Double 
dtmStart = "1900/01/01 08:10:00" 
dtmEnd = "1900/01/03 21:16:00" 
dblDuration = DateDiff("hh:mm", dtmEnd, dtmStart) 
'dblDuration = dtmEnd - dtmStart 
MsgBox Format(dblDuration, "hh:mm") 

Как бы вычесть две даты в формате «yyyy/mm/dd hh: mm: ss»? Я попробовал оба метода выше и ни работыVBA вычитание даты и времени

ответ

6
Sub Test() 
    Dim dtmStart As Date, dtmEnd As Date, dblDuration As Double 
    dtmStart = "1900/01/01 08:10:00" 
    dtmEnd = "1900/01/03 21:16:00" 
    dblDuration = dtmEnd - dtmStart 
    MsgBox Application.Text(dblDuration, "[hh]:mm") 
End Sub 
+0

Спасибо! Мне нужны квадратные скобки вокруг часов: | – user1384831

+2

+1 Я удивлен, что вы не впихнули это в комментарий –

+0

@JFC - даже комментарии имеют ограничения –

0

Ну я просто датчанин, и мне нравится это просто, так что я просто сделал это так:

Dim dtmStart As Date, dtmEnd As Date, dblDuration As Date 

Start: 'STARTTIME 
     dtmStart = Time 

Slut:   
     'SLUTTIDEN 
     dtmEnd = Time 
     dblDuration = dtmEnd - dtmStart 
     Debug.Print "Modul 1 Slut " & Time; " Run = "; dblDuration 
Смежные вопросы