1

2つ以上の期間を直接追加する方法はありますか?もう1つ、これらは、定義または評価され、それらの列に格納されている各行のExcel列にあります。保存されているExcel列ではdd:hh:mm形式です。各行の列の追加による列を作成せずに、形式を検索してそれらを直接追加し、それらの合計として別の列に入れることができる手法はありますか?

10:23:10(dd:hh:mm)。

アップデート

PID     T1Nm             T1SD                   T1FD                T1TotTime     T2Nm        T2SD                     T2FD              T2TotTime      TotalTaskDuration

 10      T1      9/27/2012  12:53:03 PM   9/3/2012  1:52:20 PM       23:23:0      T2   9/26/2012  5:55:32 PM    9/14/2012  1:52:20 PM      12:4:3

 20      T1      9/6/2012  8:29:34 AM     9/17/2012  8:59:36 AM      11:0:30      T4   9/26/2012  5:55:32 PM    9/14/2012  1:52:20 PM      12:4:3

ここでは、私が探していたものを理解できるように、図式的なビューを提供しようとしています。各列には異なる時間形式がありますので、dd:hh:mm形式のみを取得して合計し、最後の列に保存する必要があります。この説明が全体を理解するのに役立つことを願っています。探しています。

編集: すべての列の合計時間の計算を取得することは同じです。修正をアドバイスしてください。 予期しない出力

ここに画像の説明を入力してください

アップデート

それでもフォーマットエラー:

ここに画像の説明を入力してください

ありがとう、

4

1 に答える 1

1

スプレッドシート/コード例:http ://www.bumpclub.ee/~jyri_r/Excel/Summing_time_differences.xls

Sub CalculateTotalTimes()

  Dim rng As Range
  Dim column_counter As Long
  Dim row_counter As Long
  Dim time_sum() As Variant
  Dim dest_rng As Range
  Dim x As Variant

 Set rng = ActiveSheet.UsedRange

 ReDim time_sum(rng.Rows.Count)

     For row_counter = 1 To rng.Rows.Count
         time_sum(row_counter - 1) = 0
           For column_counter = 1 To rng.Columns.Count - 1 'TotalTaskDuration is the last column, not counted
              If rng(row_counter, column_counter).NumberFormat = "dd:hh:mm" Then
                time_sum(row_counter - 1) = time_sum(row_counter - 1) + rng(row_counter, column_counter).Value2
              End If
           Next
     Next
       x = LBound(time_sum)
         For x = LBound(time_sum) To UBound(time_sum) - 1
            time_sum(x) = time_sum(x + 1)
         Next

   ReDim Preserve time_sum(UBound(time_sum) - 1)

   Set dest_rng = ActiveSheet.Cells(2, rng.Columns.Count)
    Set dest_rng = dest_rng.Resize(UBound(time_sum), 1)
  dest_rng.Value = Application.WorksheetFunction.Transpose(time_sum)

End Sub
于 2012-12-14T05:34:34.530 に答える