- ©«¤l
- 2035
- ¥DÃD
- 24
- ºëµØ
- 0
- ¿n¤À
- 2031
- ÂI¦W
- 0
- §@·~¨t²Î
- Win7
- ³nÅ骩¥»
- Office2010
- ¾\ŪÅv
- 100
- ©Ê§O
- ¨k
- µù¥U®É¶¡
- 2012-3-22
- ³Ì«áµn¿ý
- 2024-2-1
|
¥»©«³Ì«á¥Ñ c_c_lai ©ó 2013-1-8 07:27 ½s¿è
¦^´_ 6# GBKEE
¦^´_ 5# Genie
GBKEE ª©¤j¦¦w¡I
¤µ¦Åª¤F "¸ê®Æª½¦VÂà¾î¦V±Æ¦C" µoı Idea ¤£¿ù¡A©ó¬O¥G
°£¤Fì¥ýªº "AÄæ¡BB Äæ" ¡A§Ú¤S¥[¤J¤F "AB Äæ" ¿ï¶µ¡C
¨Ó¨ú¼Ö¤@¤U¡A½Ð¤Å¨£©Ç¡I(§Ú¥t¼W¥[¤@¤u§@ªí³æ "´ú¸Õµ²ªG")- Sub Ex2()
- Dim D As Object, AR(), Rng As Range, i As Integer, K As Variant, W As String
- Dim cts As Integer, nums As Integer
-
- ' Do
- ' W = InputBox("½Ð¿ï¾Ü: A Äæ§@°Ï¤À ©Î B Äæ§@°Ï¤À")
- ' If W = "" Then Exit Sub ' ¨S¿é¤J:Â÷¶}µ{¦¡
- ' Loop Until UCase(W) = "A" Or UCase(W) = "B"
- W = InputBox("½Ð¿ï¾Ü: A Äæ§@°Ï¤À ©Î B Äæ§@°Ï¤À¡B" & vbCrLf & "¥ç©Î¬O AB Äæ§@°Ï¤À")
- If UCase(W) <> "A" And UCase(W) <> "B" And UCase(W) <> "AB" Then Exit Sub ' ¨S¿é¤J:Â÷¶}µ{¦¡
-
- nums = IIf(UCase(W) = "AB", 2, 1)
- Set D = CreateObject("Scripting.Dictionary") ' ¦r¨åª«¥ó
-
- For cts = 1 To nums
- Set Rng = Sheets("ì©l¸ê®Æ").Range("a2") ' Àx¦s®æª«¥ó
-
- Do
- If UCase(W) = "AB" Then
- K = IIf(cts = 1, Rng.Value, "'" & Rng & " - " & Rng.Cells(1, 2))
- Else
- K = IIf(UCase(W) = "A", Rng.Value, "'" & Rng & " - " & Rng.Cells(1, 2))
- End If
-
- If D.exists(K) Then ' ¦r¨åª«¥ó.exists(Rng.Value) ÃöÁä¦r[¦s¦b] ±ø¥ó¦¨¥ß
- AR = D(K) ' °}¦C=¦r¨åª«¥ó(ÃöÁä¦r)ªº¤º®e
- ReDim Preserve AR(UBound(D(K)) + 1) ' °}¦CÂX¥R¼W¥[¤@¤¸¯À
- AR(UBound(AR)) = Rng.Cells(1, 3).Value ' °}¦C¼W¥[ªº¤¸¯À=CÄæªº¼ÆÈ
- D(K) = AR ' ¦r¨åª«¥ó(ÃöÁä¦r)ªº¤º®e=°}¦C
- Else
- D(K) = Array(Rng.Cells(1, 3).Value) ' ¦r¨åª«¥ó(ÃöÁä¦r)ªº¤º®e=°}¦C
- End If
- Set Rng = Rng.Offset(1)
- Loop Until Rng = ""
- Next
-
- With Sheets("´ú¸Õµ²ªG")
- .Cells.Clear
-
- If D.Count > 0 Then
- i = 1
- For Each K In D.keys ' K = ¦r¨åª«¥ó(ÃöÁä¦r)
- .Cells(1, i) = K
- .Cells(2, i).Resize(UBound(D(K)) + 1) = Application.WorksheetFunction.Transpose(D(K)) ' Ū¨ú¤º®e
- i = i + 1
- Next
- End If
- End With
- End Sub
½Æ»s¥N½X |
|