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

[µo°Ý] §PÂ_Àx¦s®æ¤º¦³´X­Ó¦r¤¸¡A¨Ã¥H¨â­Ó¬°³æ¦ì±Æ¦C

[µo°Ý] §PÂ_Àx¦s®æ¤º¦³´X­Ó¦r¤¸¡A¨Ã¥H¨â­Ó¬°³æ¦ì±Æ¦C

½Ð°Ý¦U¦ì«e½ú
¦pÃD¡AÁ|­Ó¨Ò¤l
        ¨Ó·½             ¿é¥X
           B                   C
1   0x0753         53-07
2   0x1234         34-12
3   0x0900         00-09
4   0x123456    56-34-12

    ¤U­±«ü³æ¤@Àx¦s®æ®É¡G
  1.     Dim x,i  As Integer
  2.     x = (Len(Mid(Cells(1, 2), 3)))/2              '­pºâ¦@¦³´X­Ó¨â­Ó¤@²Õ
  3.     For i = 1 To x                                               '­n°µªº¦¸¼Æ
  4.         ­n½Ð«e½úÀ°¦£ªº¦a¤è
  5.     Next
½Æ»s¥N½X
§Ú©Ò¯à·Q¨ìªº¦a¤è¦p¤W¡G¤£ª¾¹D°j°é¤ºÀ³¸Ó«ç»ò°µ­pºâ
¦pªG«e½ú¦³¨ä¥L§ó²³æªº¤è¦¡¡A¤]½Ð¤£§[«ü±Ð

ÁÂÁÂ

  1. Sub yy()
  2.     Dim x$, w$, i%, j%
  3.     For j = 1 To [b65536].End(3).Row
  4.     w = Mid(Cells(j, 2), 3)
  5.     For i = Len(w) To 2 Step -2
  6.    x = IIf(x = "", Mid(w, i - 1, 2), x & "-" & Mid(w, i, 2))
  7.     Next
  8.     Cells(j, 3) = x
  9.     x = ""
  10.     Next
  11. End Sub
½Æ»s¥N½X

TOP

¦^´_ 1# a703130


    ¥Hx¦r¤¸¬°¤À¬É
  1. Sub nn()
  2. Dim ar()
  3. For Each a In Range([B1], [B1].End(xlDown))
  4.    For i = Len(Split(a, "x")(1)) - 1 To 1 Step -2
  5.      ReDim Preserve ar(s)
  6.      ar(s) = Mid(Split(a, "x")(1), i, 2)
  7.      s = s + 1
  8.    Next
  9.    a.Offset(, 1) = Join(ar, "-")
  10.    Erase ar
  11.    s = 0
  12. Next
  13. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

oobird µoªí©ó 2012-3-12 21:30


¸g¹L´ú¸Õ
¥L·|Åܦ¨
0x1234   43-23

³o¬O§_¦³Àô¸`¤W¦³°ÝÃD??

TOP

¦^´_ 3# Hsieh

§Ú·Q½Ð°Ý
Len(Split(a, "x")(1))

(1) ¥Î·N¦ó¦b??
§Ú±N(1)®³±¼«á¡A·|¥X²{«¬ºA¤£²Å¦X~³o¬O¥Î¨ÓÅܧ󫬺A¶Ü??

TOP

¸g¹L´ú¸Õ
¥L·|Åܦ¨
0x1234   43-23

³o¬O§_¦³Àô¸`¤W¦³°ÝÃD??
a703130 µoªí©ó 2012-3-13 11:55



­×¥¿¤@¤U

TOP

¦^´_ 5# a703130

Split(a, "x")·|¶Ç¦^¤@­Ó¦r¦ê°}¦C
¨Ò¦p:
a="01ax12345"
Split(a, "x")«h¶Ç¦^
array("01a","12345")³o¼Ëªº°}¦C
©Ò¥H¡ASplit(a, "x")(0)="01a"
Split(a, "x")(1)="12345"
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 7# Hsieh


    ¤F¸Ñ±zªº·N«ä¤F~«D±`ÁÂÁÂ

    ³o¥\¯àÁÙ¯u¤è«K

TOP

¦^´_ 6# oobird


   ¸ò Hsieh ¤j¤jªº¤èªk¦³²§¦±¦P¤u¤§§®
   Åý§Ú¦h¾Ç¤F¤@ºØ
   «D±`·P¿E!!

TOP

¦^´_ 9# a703130
³o¨Ç¤]¥i¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim AR(1), i As Integer, ii As Integer, s As String
  4.     With Range([B1], [B1].End(xlDown))              '¸ê®Æ½d³ò
  5.         AR(0) = .Value                              '¸ê®Æ¸m¤J°}¦C
  6.         .Replace "*x", "", LookAt = xlPart          '¤£­nªº¸ê®Æ¨ú¥N¬°""¦r¦ê
  7.         AR(1) = .Value                              '¾ã²z«áªº¸ê®Æ¸m¤J°}¦C
  8.         .Value = AR(0)                              'ÁÙ­ì­ì¥»¸ê®Æ
  9.         For i = 1 To UBound(AR(1))                  '¾ã²z«áªº¸ê®Æªº°}¦C
  10.             s = ""                                  '²MªÅ¦r¦êÅܼÆ
  11.             For ii = Len(AR(1)(i, 1)) To 1 Step -2   '¥Ñ¦r¦ê§ÀºÝ
  12.                 s = s & "-" & Mid(AR(1)(i, 1), ii - 1, 2) '¨ú¤G¦r¤¸¸m¤J¦r¦êÅܼÆ
  13.             Next
  14.             AR(1)(i, 1) = Mid(s, 2)                  '°}¦Cªº¤¸¯À=¦r¦êÅܼÆ
  15.         Next
  16.         .Offset(, 1) = AR(1)                         '¸ê®Æ½d³ò¦V¥k¦ì²¾¤@Äæ½d³ò¸ê®Æ=AR(1)
  17.     End With
  18. End Sub
  19. Sub Ex1()
  20.     Dim AR, i As Integer, ii As Integer, xi As Variant, s As String
  21.     With Range([B1], [B1].End(xlDown))              '¸ê®Æ½d³ò
  22.         AR = .Value                                 '¸ê®Æ¸m¤J°}¦C
  23.         For i = 1 To UBound(AR)
  24.             xi = InStr(AR(i, 1), "x") + 1           '°}¦Cªº¤¸¯À¤¤´M§ä"x"
  25.             xi = Mid(AR(i, 1), xi)                  '¨ú±o¥¿½T¸ê®Æ
  26.             s = ""                                  '²MªÅ¦r¦êÅܼÆ
  27.             For ii = Len(xi) To 1 Step -2           '¥Ñ¦r¦ê§ÀºÝ
  28.                 s = s & "-" & Mid(xi, ii - 1, 2)    '¨ú¤G¦r¤¸¸m¤J¦r¦êÅܼÆ
  29.             Next
  30.             AR(i, 1) = Mid(s, 2)                     '°}¦Cªº¤¸¯À=¦r¦êÅܼÆ
  31.         Next
  32.         .Offset(, 1) = AR                            '¸ê®Æ½d³ò¦V¥k¦ì²¾¤@Äæ½d³ò¸ê®Æ=AR
  33.     End With
  34. End Sub
  35. Sub Ex2()
  36.     Dim AR, i As Integer, ii As Integer, s As String
  37.     With Range([B1], [B1].End(xlDown))                  '¸ê®Æ½d³ò
  38.         AR = .Value                                     '¸ê®Æ¸m¤J°}¦C
  39.         For i = 1 To .Cells.Count                       '¸ê®Æ½d³òªº²Ä¤@­ÓÀx¦s®æ¨ì³Ì«á¤@­ÓÀx¦s®æ
  40.             ii = Len(.Cells(i))                         '­pºâÀx¦s®æªº¦r¤¸¼Æ
  41.             s = ""                                      '²MªÅ¦r¦êÅܼÆ
  42.             Do
  43.                 s = s & "-" & Mid(.Cells(i), ii - 1, 2) '¨ú¤G¦r¤¸¸m¤J¦r¦êÅܼÆ
  44.                ii = ii - 2                              '¥Ñ«á©¹«e±À¶i2¦r¤¸
  45.             Loop Until InStr(Mid(.Cells(i), ii - 1, 2), "x")  'Â÷¶}°j°é±ø¥ó:§ä¨ì¤£­nªº¦r¦ê
  46.             AR(i, 1) = Mid(s, 2)                        '°}¦Cªº¤¸¯À=¦r¦êÅܼÆ
  47.         Next
  48.         .Offset(, 1) = AR                               '¸ê®Æ½d³ò¦V¥k¦ì²¾¤@Äæ½d³ò¸ê®Æ=AR
  49.     End With
  50. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : µêªÅ¦³ºÉ¡D§ÚÄ@µL½a¡AµoÄ@®e©ö¦æÄ@Ãø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD