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に等しくするにはどうすればよいですか?
変数の型をLongに変更するだけです。
Dim dtDuration as Long
VBAは、DateDiff関数の数値結果を日付タイプの変数に変換します。