ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

¨Ì¨C¤é¨C¯¸­pºâ²§±`µo¥Í¦¸¼Æ

¦^´_ 4# totes


   
   
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 6# totes
  1. Sub nn()
  2. Dim A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")
  5. Set d2 = CreateObject("Scripting.Dictionary")
  6. Set d3 = CreateObject("Scripting.Dictionary")
  7. s = Sheet3.[E1]: n = Sheet3.[G1]
  8. With Sheet2
  9.    For Each A In Range(.[A2], .[A65536].End(xlUp))
  10.        If A >= s And A <= n And A <> "" Then '¦b°Ï¶¡¤º
  11.            dy = DateValue(Format(A, "yyyy/m/d"))
  12.            t = TimeValue("07:00:00")
  13.            If TimeValue(Format(A, "hh:mm:ss")) < t Then dy = dy - 1
  14.            d3(dy) = ""
  15.            mystr = dy & A.Offset(, 1)
  16.            d1(mystr) = d1(mystr) + 1
  17.            If IsEmpty(d(mystr)) Then
  18.               ar = Array(0, 0, 0, 0, 0, 0, 0)
  19.               ay = Array(4, 3, 2, 1, 5, 6, 7)
  20.               k = Val(A.Offset(, 5))
  21.               If k <> 0 Then ar(ay(k - 1) - 1) = ar(ay(k - 1) - 1) + 1
  22.               d(mystr) = ar
  23.               ng = Application.Sum(ar)
  24.               ary = Array(dy, ng, ar(3), ar(2), ar(1), ar(0), ar(4), ar(5), ar(6), d1(mystr), ng / d1(mystr))
  25.               d2(mystr) = ary
  26.               Else
  27.               ar = d(mystr)
  28.               k = Val(A.Offset(, 5))
  29.               If k <> 0 Then ar(ay(k - 1) - 1) = ar(ay(k - 1) - 1) + 1
  30.               d(mystr) = ar
  31.               ng = Application.Sum(ar)
  32.               ary = Array(dy, ng, ar(0), ar(1), ar(2), ar(3), ar(4), ar(5), ar(6), d1(mystr), ng / d1(mystr))
  33.               d2(mystr) = ary
  34.             End If
  35.         End If
  36.     Next
  37. End With
  38. ak = Array("DASM20", "DASM40")
  39. With Sheet4
  40. For i = 0 To 1
  41. r = 3
  42.     For Each ky In d3.keys
  43.     If Not IsEmpty(d2(ky & ak(i))) Then
  44.        .Cells(r, i * 10 + i + 1).Resize(, 11) = d2(ky & ak(i))
  45.        If i = 1 Then .Cells(r, 23) = .Cells(r, 19) / .Cells(r, 21)
  46.        Else
  47.        .Cells(r, i * 10 + i + 1).Resize(, 11) = Array(ky, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
  48.        If i = 1 Then .Cells(r, 23) = 0
  49.     End If
  50.        r = r + 1
  51.     Next
  52. Next
  53. End With
  54. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¦h°µ¦h±o¡C¤Ö°µ¦h¥¢¡C
ªð¦^¦Cªí ¤W¤@¥DÃD