返回列表 上一主題 發帖

[發問] 請問如何將各筆數量,依日期範圍加總?

回復 10# 准提部林


  謝謝准提大大的回覆,很感謝您的協助。

TOP

回復 11# gaishutsusuru

若各類匯總結果固定最多6000筆, 可稍簡化:
  1. Sub TEST()
  2. Dim Arr, Brr, xD, r&, c%, i&, j&, k%, N&(2), Sr As Range
  3. [O2:AP6000].Clear: Brr = [O2:AP6000]
  4. Set xD = CreateObject("Scripting.Dictionary")
  5. For Each Sr In [L2:M30]
  6.     k = 1 - k: If Sr <> "" Then xD(Sr & "/") = 2 - k
  7. Next
  8. '--------------------------------
  9. Arr = Range([J1], Cells(Rows.Count, 1).End(xlUp))
  10. For i = 2 To UBound(Arr)
  11.     If IsDate(Arr(i, 3)) * IsDate(Arr(i, 3)) = 0 Then GoTo 101
  12.     c = xD(Arr(i, 2) & "/")
  13.     For j = Arr(i, 3) To Arr(i, 4) - 1
  14.         r = xD(j & "|" & c)
  15.         If r = 0 Then N(c) = N(c) + 1: r = N(c): xD(j & "|" & c) = r
  16.         Brr(r, c * 10 + 2) = CDate(j)
  17.         For k = 3 To 8: Brr(r, c * 10 + k) = Brr(r, c * 10 + k) + Arr(i, k + 2): Next k
  18.     Next j
  19. 101: Next i
  20. '''--------------------------------
  21. [O2:AP6000] = Brr
  22. For Each Sr In Range("P2,Z2,AJ2")
  23.     Sr.Resize(6000, 7).Sort Key1:=Sr, Order1:=xlAscending, Header:=xlNo
  24. Next
  25. MsgBox "~~分類加總完成~~  "
  26. End Sub
複製代碼

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題