ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] Ãö©óAÄæ¬O§_¥i¥H§PÂ_¬Û¦P§Ç¸¹«á±NBÄæ¦X¨Ö¨Ã«O¯d­ì©l¼Æ¾Ú

¦^´_ 1# killer77107


    ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨Ò
«á¾ÇÂǦ¹©«½m²ß°}¦C»P¦r¨å,¾Ç²ß¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò

°õ¦æ«e:


°õ¦æµ²ªG:



Option Explicit
Sub TEST()
Dim Brr, Y, i&, T$, P$, xR As Range
Set Y = CreateObject("Scripting.Dictionary")
Set xR = [»Ý¨D»¡©ú1!A1].CurrentRegion: Brr = xR
For i = 2 To UBound(Brr)
   P = Brr(i, 1)
   T = Switch((T <> P) * (P <> ""), P, P = "", T)
   If T = "" Then GoTo i01
   Y(T) = Replace(Trim(Y(T) & " " & Brr(i, 2)), " ", vbLf)
i01: Next
[J1] = "=A1": [K1] = "=B1"
[J2].Resize(Y.Count, 1) = Application.Transpose(Y.keys)
[K2].Resize(Y.Count, 1) = Application.Transpose(Y.items)
Set Y = Nothing: Set xR = Nothing: Erase Brr
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
«á¾ÇÂǦ¹©«½m²ß°}¦C»P¦r¨å,½m²ß¤£¨Ï¥ÎkeysÂà¸mµ²ªG,¦Ó¥Hµ²ªG¸ê®ÆÂл\­ì°}¦C¸ê®Æ,¦A±Nµ²ªG¼g¤JÀx¦s®æ,¾Ç²ß¤è®×¦p¤U,½Ð¦U¦ì«e½ú«ü±Ð

Option Explicit
Sub TEST_1()
Dim Brr, Y, i&, R&, T$, P$, xR As Range
Set Y = CreateObject("Scripting.Dictionary")
Set xR = [»Ý¨D»¡©ú1!A1].CurrentRegion: Brr = xR
For i = 2 To UBound(Brr)
   P = Brr(i, 1)
   T = Switch((T <> P) * (P <> ""), P, P = "", T)
   If T = "" Then GoTo i01
   If Y(T) = "" Then
      Y(T) = Y.Count + 1: Brr(Y(T), 1) = T: Brr(Y(T), 2) = Brr(i, 2): GoTo i01
   End If
   R = Y(T): Brr(R, 2) = Replace(Trim(Brr(R, 2) & " " & Brr(i, 2)), " ", vbLf)
i01: Next
[J1].Resize(Y.Count + 1, 2) = Brr
Set Y = Nothing: Set xR = Nothing: Erase Brr
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 6# ­ã´£³¡ªL


    ÁÂÁ«e½ú«ü¾É¤£¥Î¦r¨åªº¤èªk
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 6# ­ã´£³¡ªL
¦^´_ 8# killer77107


    ÁÂÁ¨â¦ì«e½ú
«á¾ÇÂǦ¹©«¾Ç²ß ­ã´£³¡ªL«e½úªº¤è®×,¾Ç²ß¤ß±oµù¸Ñ¦p¤U,½Ð«e½ú«ü±Ð

Option Explicit
Sub ¦X¨Ö_01()
Dim Arr, i&, N&
'¡ô«Å§iÅܼÆ
Arr = Range([a1], [b65536].End(3))
'¡ô¥OArr¬O¤Gºû°}¦C,¥HÀx¦s®æ­È±a¤J°}¦C¸Ì
For i = 2 To UBound(Arr)
'¡ô³]¶¶°j°é
    If Arr(i, 1) <> "" Then
    '¡ô¦pªG§Ç¸¹¤£¬OªÅ¥Õ?
       N = N + 1
       '¡ô¥ONÅܼƲ֥[1
       Arr(N + 1, 1) = Arr(i, 1)
       '¡ô¥O§Ç¸¹­È±a¤JArr°}¦C²Ä1Äæ«ü©wªº¯Á¤Þ¦C¸¹¦ì¸m
       Arr(N + 1, 2) = Arr(i, 2)
       '¡ô¥O§÷®Æ­È±a¤JArr°}¦C²Ä2Äæ«ü©wªº¯Á¤Þ¦C¸¹¦ì¸m
    Else
    '¡ô§_«h
       Arr(N + 1, 2) = Arr(N + 1, 2) & Chr(10) & Arr(i, 2)
       '¡ô¥O§÷®Æ­È ±a¤JArr°}¦C²Ä2Äæ«ü©wªº¯Á¤Þ¦C¸¹¦ì¸m­È¸õ¦æªº«á­±
    End If
Next i
[e:f].ClearContents
'¡ô¥O²M°£Âµ²ªGÄ椺®e
[e1:f1].Resize(N + 1, 2) = Arr
'¡ô¥O§½³¡ªºArr°}¦C­È±a¤JÀx¦s®æ¤¤
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : µÊ®ð¼L¤Ú¤£¦n¡A¤ß¦a¦A¦n¤]¤£¯àºâ¬O¦n¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD