VB6(VBA)のDate型等でミリ秒の計算をするには


あん  2005-11-12 00:31:11  No: 127569

Windows2000  VB6.0(VBA)です。
ミリ秒を含んでる文字  "2005-10-27 16:15:32.337"で
簡単に計算をする方法を教えてください。
ミリ秒なし "2005-10-27 16:15:32" では
CDateで変換をして計算ができるのですが
ミリ秒を含んでる文字では  ”型が一致しません”
とエラーがでて計算できません。
VB6.0(VBA)ではDate型または他の方法でのミリ秒の計算は
スマートにはできないのでしょうか?
エクセルでは計算式でできてしまうのに
エクセルのマクロではできないのがくやしくてしょうがありません。
エクセルではできるのでマクロでもできると思うのですが。。
良い方法があったら教えてください。


通ってみた  2005-11-12 11:27:55  No: 127570

小数点以下(つまりミリ秒)の部分だけ抜き取って計算させればいいのでは?

1.000以上になれば1秒増えるということですよね?


あん  2005-11-13 07:09:39  No: 127571

ありがとうございます。
やっぱり  それしかないのかな
今はこのようにやっています
s = Format(CDate(Left("2005-10-27 16:16:32.337", 19)) - CDate(Left("2005-10-27 16:15:32.000", 19)), "s")
ms = Right(Cells(y, EndTime列), 3) - Right(Cells(y, StartTime列), 3)
時間 = s * 1000 + ms
スマートには無理なようですね。


あん  2005-11-13 07:11:27  No: 127572

間違えました。

s = Format(CDate(Left("2005-10-27 16:16:32.337", 19)) - CDate(Left("2005-10-27 16:15:32.000", 19)), "s")
ms = Right("2005-10-27 16:16:32.337" , 3) - Right("2005-10-27 16:15:32.000", 3)
時間 = s * 1000 + ms

です。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加