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

[µo°Ý] ¦p¦ó©î¤À¦P¤@Äæ¦ì¤ºªº¸ê®Æ

ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
«á¾ÇÂǦ¹©«½m²ß°}¦C,¾Ç²ß¤è®×¦p¤U,½Ð¦U¦ì«e½ú«ü±Ð

°õ¦æ«e:


°õ¦æµ²ªG:



Option Explicit
Sub TEST()
Dim Brr, Crr, Z, N&, M&, i&
'¡ô«Å§iÅܼÆ
Brr = Range([A1], [A65536].End(3))
'¡ô¥OBrrÅܼƬO¤Gºû°}¦C,¥HAÄæÀx¦s®æ­È±a¤J
ReDim Crr(1 To UBound(Brr), 1 To 1000)
'¡ô«Å§iCrrÅܼƬO¤G¬°ªÅ°}¦C,Áa¦V½d³ò¦PBrr°}¦C,¾î¦V½d³ò±q1 ¨ì1000
For i = 1 To UBound(Brr)
'¡ô³]¶¶°j°é
   If Brr(i, 1) = "" Then GoTo i01
   '¡ô¦pªG°}¦C­È¬OªÅªº!´N¸õ¨ì¼Ð¥Ü i01¦ì¸mÄ~Äò°õ¦æ
   N = 0
   '¡ô¥ONÅܼÆÂk¹s
   For Each Z In Split(Brr(i, 1), vbLf)
   '¡ô³]³v¶µ°j°é!¥OZÅܼƬO¦r¦ê³Q¸õ¦æ¦r¤¸¤À³Î¦¨ªº¤@ºû°}¦C¤l
      N = N + 1
      '¡ô¥ONÅܼƲ֥[ 1
      If Z = "" Then GoTo z01
      '¡ô¦pªGZÅܼƬOªÅªº!´N¸õ¨ì¼Ð¥Üz01¦ì¸mÄ~Äò°õ¦æ
      If InStr(Z, "-") Then
      '¡ô¦pªGZÅܼƸ̦³¥]§t"-"¦r¤¸?
         Crr(i, (N - 1) * 2 + 1) = Split(Z, "-")(1)
         '¡ô¥OZÅܼƱN"-"¦r¤¸¥k¤èªº¦r¦ê¼g¤J Crr°}¦C
         Else
            Crr(i, (N - 1) * 2 + 1) = Z
            '¡ô§_«h´N¥O ZÅܼƦr¦ê¼g¤J Crr°}¦C
      End If
      If N > M Then M = N
      '¡ô±´´úCrr°}¦C¾î¦V»Ý­n¦h¤ÖÄæ¼Æ
z01: Next
i01: Next
With [H1].Resize(UBound(Crr), (M - 1) * 2 + 1)
   .EntireColumn.ClearContents
   '¡ô±Nµ²ªGÄæ¸ê®Æ²M°£
   .Value = Crr
   '¡ô¥OCrr°}¦C­È±a¤JÀx¦s®æ
End With
Erase Brr, Crr
'¡ôÄÀ©ñÅܼÆ
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¨Ã«D¦³¿ú¾{¬O§Ö¼Ö¡A°Ý¤ßµL·\¤ß³Ì¦w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD