2017-10-15 7 views
-1

私はこの質問が以前によく出てきたことは知っていますが、私が持っているものは別のケースです。私は、2つのグループのための日付と時刻についてのいくつかのデータを持っています。私は各グループの継続時間を知りたいのですが、Excel VBAコードに書き込む方法はわかりません。あなたはそれを解決するために私を助けてくれますか? ここに私のExcelシートがあります。 enter image description here 難しいことは、同じグループ内で別の日付に変更されたときですが、差異を差し引いてみると正の値ではなくなります。例えば: - それはマイナスになるのでので、私は、日付の変更を検討する必要があり、19時00分〇​​〇秒ユニークな値の異なるグループのExcel vbaの時間差(秒)を計算するにはどうすればよいですか?

02.09.2017 19:00:00 
03.09.2017 01:00:00 

この場合、私は1時00分○○秒をsubstractすることはできません。それがどうしたら解決できますか?助けてくれてありがとうございました。

+0

期間が必要ですか? hh:mm:ss? – QHarr

+0

ああ、私は忘れてしまった。秒で表示されます@QHarr –

+0

まず、コンピュータが時間の値をどのように処理するかに精通している必要があります。開始日から秒単位(またはミリ秒単位)で測定されます。 02.09.2017 19:00:00と書くと、それは開始日からの秒数の人間の表現です。したがって、望む結果を得るには、巨大な数(数秒または数ミリ秒のうち、その部分を知る必要はありません)なので、他の日付に任意の日付を減算(または追加)できます。 – peakpeak

答えて

0

セルがデータと時間でフォーマットされている場合は、"n"を使用してDateDiffファンクションを使用できます(difを秒単位で表します)。

A1 02.09.2017 19:00:00 
A2 03.09.2017 01:00:00 

コード:私はあなたのデータでテストしてみた

どのような形式で

Option Explicit 

Sub CalcSecond() 

Dim NumofSec As Long 

NumofSec = DateDiff("n", Range("A1").Value, Range("A2").Value) 

MsgBox NumofSec 

End Sub 
+0

これは私が考える正確な質問に答えるものではありません。 OPは、範囲内の各イベントの最初と最後の一致を見つけて、関連付けられた日時を変更する必要があります。彼らは同じフィールドにないので、02.09.2017のような変換は文字列などと見なされるので、何らかの形式の連結を実行する必要があるかもしれません、そして、彼らはdatediffを行うことができます。 – QHarr

+0

また、範囲を作成して作業するという概念も必要です。 – QHarr

関連する問題