- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¦^´_ 10# Genie
¸ê®Æ·|¦³¨CÄ椣¦P¸ê®Æ¶q¶Ü?
¸Õ¸Õ¼g¤J®É¨Ì¦U¸s²Õ¸ê®Æ¶q¼g¤J- Sub ex()
-
- Dim A As Range, d As Object, j&, i%, s%, C$, Ky
-
- C = InputBox("¿é¤JÄæ¦ìA©ÎB", , "A")
-
- Set d = CreateObject("Scripting.Dictionary")
-
- With Sheet1
-
- j = 2
-
- Do Until .Cells(j, 1) = ""
-
- Set A = .Cells(j, C)
-
- s = Application.CountIf(.Range(A, A.End(xlDown)), A)
-
- i = Application.CountIf(A.Resize(s, 1), .Cells(j, C)) 'pºâ³æµ§¸ê®Æ¶q
-
- If C = "A" Then
-
- d(A.Value) = A.Offset(, 2).Resize(i, 1).Value
-
- Else
-
- d(A.Offset(, -1) & "_" & A) = A.Offset(, 1).Resize(i, 1).Value
-
- End If
-
- j = j + i
-
- Loop
-
- End With
-
- With Sheet2
-
- .UsedRange.Clear
-
- k = 1
-
- For Each Ky In d.keys
-
- .Cells(1, k) = Ky
-
- .Cells(2, k).Resize(UBound(d(Ky)), 1) = d(Ky)
-
- k = k + 1
-
- Next
-
- End With
-
- End Sub
½Æ»s¥N½X |
|