返回列表 上一主題 發帖

Sumif 應用題

q1模組:
  1. Private Sub CommandButton1_Click()
  2. Dim n%
  3. [a:a] = [a:a].Value
  4. [w:ai] = ""
  5. Application.ScreenUpdating = 0
  6. n = [a65536].End(3).Row
  7.     [w6].Consolidate "R6C1: R" & n & "c21", xlSum, 1, 1
  8. [x:ae].Delete
  9. [w6] = [a6]
  10. End Sub
複製代碼
q2模組:
  1. Sub yy()
  2. Dim rng, arr, d As Object, i%, j%, m%
  3. [ai:bh] = ""
  4. rng = Range([a6], [ag65536].End(3))
  5. Set d = CreateObject("Scripting.Dictionary")
  6. ReDim arr(1 To UBound(rng), 1 To 13)
  7. arr(1, 1) = rng(1, 1)
  8. For j = 2 To 13
  9. arr(1, j) = Left(rng(1, 8 + c + j), 6): c = c + 1
  10. Next
  11. m = 1
  12. For i = 2 To UBound(rng)
  13. If d(rng(i, 1)) = "" Then
  14. m = m + 1
  15. d(rng(i, 1)) = m
  16. arr(m, 1) = rng(i, 1): c = 0
  17. For j = 2 To 13
  18. arr(m, j) = rng(i, 8 + c + j) - rng(i, 8 + c + j + 1): c = c + 1
  19. Next
  20. Else
  21. c = 0
  22. For j = 2 To 13
  23. arr(d(rng(i, 1)), j) = arr(d(rng(i, 1)), j) + rng(i, 8 + c + j) - rng(i, 8 + c + j + 1): c = c + 1
  24. Next
  25. End If
  26. Next
  27. [ai6].Resize(m, 13) = arr
  28. End Sub
複製代碼

TOP

樞紐中插入12個計算欄位是很辛苦的,感覺還是先在表上用12個輔助欄會快些。
不知諸君可有其他更好的想法?

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題