2009-04-23 8 views
0

[s]を得るために[h]:mm:ssの合計で整数の合計を分割しようとしています。私はこの野生の歪曲であると思われることによってこれをやっています。整数をVBA(Excel)を使って時間で除算する

temp = Split(Format(Range("D" & rInx).Value, "hh:mm:ss"), ":", -1, vbTextCompare) 
answerDelay = CInt(temp(0)) * 3600 + CInt(temp(1)) * 60 + CInt(temp(2)) 

これは私があなたの脳を見て、私にそれを行うためのより良い方法を教えてために、私はそこにそれを置くだろうと思った私にはかなり奇妙に思えるので。

これは要するに、ワークシート上式の最後には、このための答えは109秒です

range(B1)=838 
range(C1)=26:38:44 
range(D1)=range(C1)/range(B1) 

だろうです。

私はここでそれが動作するように、私はちょうど私の解決策で満たされていません。

あなたはより良い解決策をお持ちですか?

ありがとうございました! Craig

答えて

0

TimeSpanを使用して時間を秒単位に変換し、その後で分けることができます。私がやりなさい

は、C#で、それが、このような気にいらをテストした:

var seconds = new TimeSpan(26, 38, 44).Seconds; 

は、あなたが何を意味するのかということですか?

+0

いいえ、私はあなたのタイムリーな応答に感謝します。私はVBAではなくC++を使用しています – CABecker

+0

VBAにはDateDiff関数がありますが、TimeSpanに相当するものはありません。C# – Lunatik

+0

VBAおよびExcel。私は今目を開けます:) – asgerhallas

3

Excelは時間を1日の分数、つまり24時間= 1.0に保ちます。秒に変換するには、24 * 60 * 60を単純に乗算します。

+0

つまり、範囲D1を秒単位で答えたいならば、範囲(d1)=範囲(c1)/範囲(b1)* 24 * 60 * 60'です。 – mischab1

関連する問題