|
中2のVBA通 さん、shousukeさん、こんばんは。
>はじめまして。中2のVBA通です。
>私は、VBAを初めて5ヶ月、SUBプロシージャーやActiveXコントロールなど、いろいろ自分なりにがんばっていきました。しかし、解決できないことが一つだけあります。それは
> 「 1/10 や、それより小さいの秒数」
> を使うことです。
>secondの内部処理形式は整数形(integer)なので、わり算はできません。
>また、timevalueも内部処理形式は整数形なので、同じくわり算できません。
>なにか特別な参照設定をしなければいけないのかもしれませんが、私にはさっぱりワカリマセン。
>
>誰か知っている人は教えてください。
何をしたいかによって違ってきますが、
例えば、「13:15:16.45」なんて言う時間を表したいなら・・・、
'===================================================================
Sub time_test()
Dim t_time As Double
t_time = CDbl(TimeValue("13:15:16")) + CDbl(0.45 / 86400)
MsgBox WorksheetFunction.Text(t_time, "hh:mm:ss.00")
End Sub
上の記述で86400は、一日---24時間---1440分---86400秒から出てくる数値です。
時間って、24時間を0〜1で百分率で表しているということから考えてみて下さい。
|
|