| ©«¤l5923 ¥DÃD13 ºëµØ1 ¿n¤À5986 ÂI¦W0  §@·~¨t²Îwin10 ³nÅ骩¥»Office 2010 ¾\ŪÅv150 ©Ê§O¨k ¨Ó¦Û¥xÆW°ò¶© µù¥U®É¶¡2010-5-1 ³Ì«áµn¿ý2022-1-23 
         
 | 
                
| ¦^´_ 16# gctsai ¨º¦pªGn²ÎpªºÄæ¦ì¤£¦b®ÇÃä©O
 ¨º§An¸ò¹q¸£»¡ªü ¦p¹Ï
 
 
     ½Æ»s¥N½XPrivate Sub Ex()
    Dim D As Object, Rng As Range, f As Variant
    Set D = CreateObject("SCRIPTING.DICTIONARY") '³]¥ß¦r¨åª«¥ó
    Set Rng = Sheets("¨Ó·½").[a2]    '³]¥ßÀx¦s®æª«¥ó
    With Sheets("²Îp")
         f = Application.Match(.[b1].Text, Sheets("¨Ó·½").Rows(1), 0) 'f: ¦b¨Ó·½¤¤´M§ä²ÎpªºÄæ¦ì
         If IsError(f) Then MsgBox "²ÎpªºÄæ¦ì¤£¦s¦b!!!": Exit Sub
        Do While Rng <> ""        'RngªºÈ¬°ªÅ¥Õ®É¤£°õ¦æ Doªº°j°é
            If Rng = .Range("A2") Then D(Rng.Offset(, f - 1).Value) = D(Rng.Offset(, f - 1).Value) + 1
            '        .[A2] ->Sheets("²Îp")[A2]      '¦r¨åª«¥ó(KEY)=ITEM + 1
            Set Rng = Rng.Offset(1)  'Rng¤U²¾¤@¦C¦ì
        Loop
        With .[B2:C2]
            .Resize(.CurrentRegion.Rows.Count, 2) = ""
            .Cells(1).Resize(D.Count) = Application.Transpose(D.KEYS)
            .Cells(2).Resize(D.Count) = Application.Transpose(D.ITEMS)
            .Resize(D.Count, 2).Sort Key1:=.Cells(1), Order1:=xlAscending, Header:=xlNo
        End With
    End With
    Set D = Nothing
    Set Rng = Nothing
End Sub
 | 
 |