- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 194
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-8-9
               
|
¦^´_ 3# ivan731129 - Sub Ex()
- Dim A As Range
- Set d = CreateObject("Scripting.Dictionary")
- Set d1 = CreateObject("Scripting.Dictionary")
- d1("¤½¥q") = Array("¤½¥q", "½s¸¹", "²£¶q", "¦a§}", "¹q¸Ü") '¦X¨Ö«á¼ÐÃD¦C¤å¦r
- With Sheet2
- For Each A In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
- d(A.Value) = Array(A.Offset(, 1).Value, A.Offset(, 2).Value) '±N«È¤á¸ê®ÆÀx¦s
- Next
- End With
- With Sheet1
- For Each A In .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp))
- If IsEmpty(d1(A & A.Offset(, 3))) Then '¥H®É¶¡»P«È¤á¦WºÙ¬°¯Á¤ÞÀx¦s
- d1(A & A.Offset(, 3)) = Array(A.Value, A.Offset(, 1).Value, A.Offset(, 3).Value, d(A.Value)(0), d(A.Value)(1))
- Else
- ar = d1(A & A.Offset(, 3))
- If A.Offset(, 3).Value > ar(2) Then ar(2) = A.Offset(, 3).Value
- d1(A & A.Offset(, 3)) = ar
- End If
- Next
- End With
- Sheet5.[A1].Resize(d1.Count, 5) = Application.Transpose(Application.Transpose(d1.items))
- End Sub
½Æ»s¥N½X |
|