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

[µo°Ý] ¦p¦ó±Æ°£­^¤å¦r¥À¤Î"-"¦r²Å¨ú¥þ³¡¼Æ¦r?

¦^´_ 1# cypd


ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨Ò,¥H¤U¬OVBAªº¤è¦¡,½Ð«e½ú°Ñ¦Ò
½Ð±Ð«e½ú­Ì:
¥¿«hªºµ²ªG¥i¥H¥ÎJoinª½±µ³s±µ°_¨Ó¶Ü?

°j°é³s±µ°õ¦æµ²ªG:


Option Explicit
Sub TEST()
Dim Fn, Rg, Brr, Crr, i&, j&, Sh
Set Sh = ActiveSheet
Brr = Range(Sh.[A1], Sh.[A65536].End(3))
Set Rg = CreateObject("VBScript.RegExp")
Rg.Pattern = "\d+"
Rg.Global = True
ReDim Crr(1 To UBound(Brr), 0) As String
For i = 1 To UBound(Brr)
   Set Fn = Rg.Execute(Brr(i, 1))
   If Fn.Count > 0 Then
      For j = 0 To Fn.Count - 1 '½Ð±Ð¦U¦ì«e½ú,¥i¥H¥ÎJoin¨ú¥N³o°j°é¶Ü?
         Crr(i, 0) = Crr(i, 0) & Fn(j)
      Next
   End If
Next
Sh.[D1].Resize(UBound(Brr), 1) = Crr
End Sub

'¥H¤U¬O´ú¸Õ¤@ºû°}¦CJoin
Sub ¤@ºû°}¦CJoin()
Dim T
T = [{1,2,3,4,5,6}]
MsgBox T(1)
MsgBox Join(T)
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 6# Andy2483


    ¦^´_¦Û¤vªº¾q¶w
¤£¦AªÈµ²Join
Âà©À:¤Ï¦V«ä¦Ò

¥H¥¿«hµ²ªG¸m´«:


Option Explicit
Sub TEST() '¤µ¤Ñ¾Ç²ß¨ì ¥H¥¿«hµ²ªG¸m´«
Dim i&, Brr, Sh
'¡ô«Å§iÅܼÆ:i¬Oªø¾ã¼ÆÅܼÆ,¨ä¥L¬O³q¥Î«¬ÅܼÆ
Set Sh = ActiveSheet
'¡ô¥OSh³o³q¥Î«¬ÅܼƬO²{¥Î¤u§@ªí
Brr = Range(Sh.[A1], Sh.[A65536].End(3))
'¡ô¥OBrr¬O ¤Gºû°}¦C!¥H[A1]¨ìAÄ榳¤º®e³Ì«á¤@­ÓÀx¦s®æ,³o½d³òÀx¦s®æ­È­Ë¤J
With CreateObject("VBSCRIPT.REGEXP")
'¡ô¥H¤U¬O¦³Ãö©ó¥¿«hªºµ{§Ç
   For i = 1 To UBound(Brr)
   '¡ô³]¶¶°j°é!i±q1¨ìBrr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹¼Æ
      .Global = True
      '¡ô³]©w¥þ§½¥i¥Î
      .Pattern = "\D+"
      '¡ô¤Ç°t¼Ò¦¡¬°«D¼Æ¦r
      Brr(i, 1) = "'" & .Replace(Brr(i, 1), "")
      '¡ô¥Oi°j°é¦C²Ä1ÄæBrr°}¦C­È¬O "'"³æ¤Þ¸¹³s±µ Brr°}¦C­È¦Ü´«±¼«D¼Æ¦rªº¥¿«h
   Next
End With
Sh.[E1].Resize(UBound(Brr), 1) = Brr
'¡ô¥O[E1]¦V¤UÂX®i Brr°}¦CÁa¦V³Ì¤j¯Á¤Þ¦C¸¹¼Æ¦C,¦V¥k¤£ÂX®iªº½d³ò¥HBrr°}¦C­È­Ë¤J
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 11# cypd


    ½Ð«e½ú°Ñ¦Ò¥H¤U½×¾ÂÃìµ²©«:
http://forum.twbts.com/viewthrea ... ighlight=%A5%BF%ABh
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ªY½à§O¤H´N¬O²øÄY¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD