web-dev-qa-db-ja.com

VBAで経過時間を秒単位で計算する方法は?

StrStartTimeとstrEndTimeの2つの文字列があります。

strStartTime = "12:32:54" strEndTime = "12:33:05"

StrStartTimeとstrEndTimeの間に何秒経過したかを知りたいので、次のようにしました。

Dim dtDuration as date
dtDuration = DateDiff("s", CDate(strStartTime), CDate(strEndTime))  

私が得た結果は、ローカルウォッチウィンドウのdtDuration = "#1/10/1900#"です。

なぜこれが起こるのですか?開始時間と終了時間の間に経過した11秒間、dtDurationを11に等しくするにはどうすればよいですか?

8
phan

変数の型をLongに変更するだけです。

Dim dtDuration as Long

VBAは、DateDiff関数の数値結果を日付タイプの変数に変換します。

8
Radek