- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 4# hkyan - Option Explicit
- Sub Ex()
- Dim Rng As Range, i As Integer, ii As Integer, R As Range, d1 As Object, d2 As Object
- Set d1 = CreateObject("SCRIPTING.DICTIONARY") '¦r¨åª«¥ó
- Set d2 = CreateObject("SCRIPTING.DICTIONARY") '¦r¨åª«¥ó
- i = 2 '±qB2Äæ¼Æ ¶}©l
- With ActiveSheet '«ü©w¤u§@ªí
- Do While .Cells(1, i) <> "" '°õ¦æ°j°éªº±ø¥ó: iÄ檺²Ä¤@¦C <>""
- If Weekday(.Cells(1, i), 2) = 6 Then '¤é´Áªº¬P´Á="¶g¤»"
- If Not Rng Is Nothing Then '³]©w"¶g¤»"ªº¦ì¸m
- Set Rng = Union(Rng, .Cells(1, i))
- Else
- Set Rng = .Cells(1, i)
- End If
- End If
- i = i + 1 '¤U¤@ÓÄæ¼Æ
- Loop
- i = 2 '±qA2¦C¼Æ ¶}©l
- Do While .Cells(i, "A") <> "" '°õ¦æ°j°éªº±ø¥ó: AÄ檺i¦C <>""
- '¦r¨åª«¥ó(KEY)¹ïÀ³¤@Ó Item
- d1(.Cells(i, "A").Value) = "" '¦r¨åª«¥ó(KEY)ªºITEM =""
- d2(.Cells(i, "A").Value) = ""
- For Each R In Rng '¨C¤@Ó R ªº¬P´Á³£¬O"¶g¤»"
- If R.Cells(i) <> "" Then 'R.Cells(i): R¤U¤è²ÄiÓCell
- d1(.Cells(i, "A").Value) = Val(d1(.Cells(i, "A").Value)) + 1
- '¦r¨åª«¥ó(KEY) =VAL(¦r¨åª«¥ó(KEY))+1 (¹ïÀ³ªº Item)
- d2(.Cells(i, "A").Value) = Date - R
- '¦r¨åª«¥ó(KEY) =·í¤é- R [¤Ñ¼Æ](¹ïÀ³ªº Item)
- End If
- Next
- i = i + 1
- Loop
- Range("R2").Resize(d1.Count).Value = Application.Transpose(d1.ITEMS)
- Range("S2").Resize(d1.Count).Value = Application.Transpose(d2.ITEMS)
-
- End With
- End Sub
½Æ»s¥N½X |
|