| 
    
     |  | 中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で百分率で表しているということから考えてみて下さい。
 
 |  |