|
▼ふぁっしー さん:
>このようなデータがあったとき、
>Data1.CSVの01:00:350の200というデータと
>Data2.CSVの01:00:331の40というデータを
>比較したいです。
殆ど検証してないのですが、検証は出来るようです。
※↑なので保障なし+このままでは実用不可
Sub t()
Dim Ret1 As Date, Ret2 As Date
Ret1 = FormatTime("01:00:050")
Ret2 = FormatTime("01:00:100")
MsgBox "Ret2 > Ret1 :" & (Ret2 > Ret1)
End Sub
'これにはデータ確認の処理が必要。サンプルなのでしてない。
Function FormatTime(pData As String) As Date
Dim sBuf() As String
Dim dtmBuf As String
Dim dblBuf As Double
Const sSpliter As String = ":"
sBuf = Split(pData, sSpliter)
dtmBuf = Format(CDate("00" & sSpliter & sBuf(0) & sSpliter & sBuf(1)), "hh:mm:ss")
If sBuf(2) > 0 Then
dblBuf = Val(sBuf(2)) / (24 * 60) / 60 '秒以下を秒単位に成型 data/1日の分(1440分)/60秒
End If
dtmBuf = dtmBuf + CDate(dblBuf)
FormatTime = dtmBuf
End Function
>second()のようにシリアル値から秒ではなく、ミリ秒を算出する関数があれば可能だと思うのですが、見つけることができませんでした。
関数は無いです。
|
|