返回列表 上一主題 發帖

[發問] 使用VBA或巨集進行累計次數

本帖最後由 准提部林 於 2015-11-29 13:05 編輯

Sub TEST()
Dim i&, R&, C&, xD, xArea As Range, Arr, xR As Range, X&, Y&, Z%
C = [IV2].End(xlToLeft).Column
R = [B65536].End(xlUp).Row
Set xD = CreateObject("Scripting.Dictionary")
For i = 4 To R Step 4:  xD(Cells(i, 1) & "") = i - 3: Next i  '取得〔Tester No〕的〔列位〕
For i = 3 To C:  xD(Format(Cells(2, i), "yyyy-mm-dd")) = i - 2: Next i '取得日期的〔欄位〕
Set xArea = [C4].Resize(R - 3, C - 2) '統計數值區
xArea.ClearContents: Arr = xArea '清除統計,以Arr代出
 
For Each xR In Range([summary!D3], [summary!D65536].End(xlUp))
  X = xD(xR.Value) '〔Tester No〕的〔列位〕
  Y = xD(Format(xR(1, 3), "yyyy-mm-dd")) '日期的〔欄位〕
  If X = 0 Or Y = 0 Then GoTo 101
  Z = Int(Hour(xR(1, 3)) / 8) '早午晚時段計算
  Arr(X + Z, Y) = Arr(X + Z, Y) + 1 '累計時段次數
  Arr(X + 3, Y) = Arr(X + 3, Y) + 1 '累計當日次數
101: Next
xArea = Arr
End Sub

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題