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

[µo°Ý] ¦p¦óÂà¸m¨Ã­«²Õ¸ê®Æ±Æ¦C¤è¦¡

[µo°Ý] ¦p¦óÂà¸m¨Ã­«²Õ¸ê®Æ±Æ¦C¤è¦¡

¦U¦ì¤j¤j

A:CÄ欰°Ï¶ô¸ê®Æ, ¨C­Ó°Ï¶ô¦³3©Î5¸ê®Æ¦C(¤¤¶¡¥HªÅ¥Õ¦C¹j¶}).

±N°Ï¶ô¸ê®ÆÂà¸m¦ÜE:IÄæ¨Ã¹ï¦U°Ï¶ô¶i¦æ­«²Õ¤è¦¡¦p¤U:
1.CÄæÀx¦s®æ­n¥Ñ¤¤¤å¦r«á­±ºâ, ¨ú¥þ³¡ªº­^¤å¦r©M¨ä¥L¦r¤¸.
    ¦p:C2Àx¦s®æ "¯¸µP±µ»é¹B°e²Õ99LA68XY¬ü¦Ó¬ü"
          ­n¨ú "99LA68XY¬ü¦Ó¬ü" (¬õ¦r©Ò¥Ü)
          C3Àx¦s®æ "µ¥­Ô°±¨®«FCC1-B18Z1"
          ­n¨ú "CC1-B18Z1" (¬õ¦r©Ò¥Ü)
     ¾l¦¹Ãþ±À.....

2.§¹¦¨²Ä1ÂI«á¶i¦æ¸ê®Æ¥þ­±Âà¸m§@·~, ­Y¸Ó°Ï¶ô¸ê®Æ¦C¬°3 ¦C, ¶ñ
    ¤JE,F©M I   Äæ (¦pÂŦ⩷½u©Ò¥Ü) , ­Y°Ï¶ô¸ê®Æ¦C¬°5¦C, ¦P«e­z¤è
     ¦¡¨Ì§Ç¶ñ¶i E ~ I Äæ

3. E ~ I Ä欰§¹¦¨«áÅã¥Ü¸ê®Æ.

¦]°Ï¶ô¸ê®Æ¦C±`°µ­×§ï,  ¦p¦ó§Q¥ÎVBA¼g¥Xµ{¦¡?

·Ð½Ð¥ý¶i ¤j¤j«ü¾É
TEST22.rar (48.57 KB)

¦^´_ 1# luke
  1. Sub ex()
  2. Dim Rng As Range, r&, ar(), i%, j%, k%, n%, m$
  3. Set Rng = Range("A:C").SpecialCells(xlCellTypeConstants)
  4. r = 2
  5. For i = 1 To Rng.Areas.Count
  6.    ar = Rng.Areas(i).Value
  7.    For j = 1 To UBound(ar, 1)
  8.       k = 1
  9.       Do Until Asc(Mid(ar(j, 3), k)) >= 1 And Asc(Mid(ar(j, 3), k)) <= 256
  10.         k = k + 1
  11.       Loop
  12.       m = Mid(ar(j, 3), k)
  13.       n = Application.Match(ar(j, 1), Array("¤Ú¤h", "¯¸µP°_ÂI", "¯¸µP¤¤Ä~A", "¯¸µP¤¤Ä~B", "¯¸µP²×ÂI"), 0)
  14.       Cells(r, n + 4).Resize(3, 1) = Application.Transpose(Array(ar(j, 1), m, ar(j, 2)))
  15.    Next
  16. r = r + 3
  17. Next
  18. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 2# Hsieh

ÁÂÁÂH¤j

­YCÄæ°Ï¶ô¸ê®Æ¤¤³¡¤À¦³­^¤å¦r¶}ÀY¦p "XY" (¯»¬õ¦r©Ò¥Ü), »¡©ú¦p¤U:
1.C1Àx¦s®æ "XY¯¸µP±µ»é¹B°e²Õ99LA68XY¬ü¦Ó¬ü"
          ­n¨ú "99LA68XY¬ü¦Ó¬ü" (¬õ¦r©Ò¥Ü)
    C7Àx¦s®æ "XYµ¥­Ô°±¨®«FCC1-B25 Z1"
          ­n¨ú "CC1-B25 Z1" (¬õ¦r©Ò¥Ü)
    C14Àx¦s®æ "XYµu¼È¥ð®§OAK-B21"
          ­n¨ú "OAK-B21" (¬õ¦r©Ò¥Ü)

2.¶i¦æÂà¸m­«²Õ«á. E ~ I ÄæÅã¥Ü¸ê®Æ¤£Åܪº¸Ü, À³ ¦p¦ó­×§ïVBAµ{¦¡?

·Ð½Ð¥ý¶i ¤j¤j«ü¾É
TEST22A.rar (14.13 KB)

TOP

¦^´_ 3# luke
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar(2 To 3), E As Range
  4.     With sheet1
  5.         Ar(2) = .Columns(2)                       'BÄæ¸ê®Æ ¸m¤J°}¦C
  6.         Ar(3) = .Columns(3)                       'CÄæ¸ê®Æ ¸m¤J°}¦C
  7.         .Columns(2) = Ar(3)                       'BÄæ¸ê®ÆÂনCÄæ¸ê®Æ
  8.         .Columns(3) = Ar(2)                       'CÄæ¸ê®ÆÂনBÄæ¸ê®Æ
  9.         .Columns(2).Replace "*¹B°e²Õ", ""         'BÄæ¸ê®Æ ®ø°£¦r¦ê *¹B°e²Õ
  10.         .Columns(2).Replace "*°±¨®«F", ""         'BÄæ¸ê®Æ ®ø°£¦r¦ê *°±¨®«F
  11.         .Columns(2).Replace "*¥ð®§", ""           'BÄæ¸ê®Æ ®ø°£¦r¦ê *¥ð®§
  12.         .Range("E:I").Clear
  13.         For Each E In .Range("A:C").SpecialCells(xlCellTypeConstants).Areas
  14.         'Areas ÄÝ©Ê ¶Ç¦^ Areas ¶°¦X¡A¦¹¶°¦X¥Nªí¦h­«½d³ò¤¤ªº©Ò¦³½d³ò¡C°ßŪ¡C
  15.            E.Copy                                                 '½Æ»s
  16.             With .Range("E" & .Rows.Count).End(xlUp).Offset(1)    'EÄæ¥Ñ¤U©¹¤W
  17.                 .PasteSpecial , Transpose:=True                   'Âà¸m
  18.                 If .Cells(1, 3) = "¯¸µP²×ÂI" Then .Cells(1, 3).Resize(3).Cut Destination:=.Cells(1, 5)
  19.                  .Resize(3, 5).Borders.LineStyle = xlNone           '®ø°£®Ø½u
  20.                 .Resize(3, 5).BorderAround 1                        '»s©w¥~®Ø½u
  21.             End With
  22.         Next
  23.          .Range("E:I").EntireColumn.AutoFit
  24.          .Range("E1").Select
  25.         .Columns(2) = Ar(2)                                              'ÁÙ­ìBÄæ¸ê®Æ                       
  26.         .Columns(3) = Ar(3)                                              'ÁÙ­ìCÄæ¸ê®Æ                       
  27.     End With
  28. End Sub
½Æ»s¥N½X

TOP

¦^´_ 3# luke
  1. Sub ex()
  2. Dim Rng As Range, r&, ar(), i%, j%, k%, n%, m$
  3. Set Rng = Range("A:C").SpecialCells(xlCellTypeConstants)
  4. r = 2
  5. For i = 1 To Rng.Areas.Count
  6.    ar = Rng.Areas(i).Value
  7.    For j = 1 To UBound(ar, 1)
  8.       k = 1
  9.       Do Until (Asc(Mid(ar(j, 3), k)) < 0 Or Asc(Mid(ar(j, 3), k)) > 256) And Asc(Mid(ar(j, 3), k + 1)) >= 0 And Asc(Mid(ar(j, 3), k + 1)) <= 256
  10.         k = k + 1
  11.       Loop
  12.       m = Mid(ar(j, 3), k + 1)
  13.       n = Application.Match(ar(j, 1), Array("¤Ú¤h", "¯¸µP°_ÂI", "¯¸µP¤¤Ä~A", "¯¸µP¤¤Ä~B", "¯¸µP²×ÂI"), 0)
  14.       Cells(r, n + 4).Resize(3, 1) = Application.Transpose(Array(ar(j, 1), m, ar(j, 2)))
  15.    Next
  16. r = r + 3
  17. Next
  18. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¡i¬O§_µo´§¤F¨}¯à¡H¡j¤H¶¡¹Ø©R¦]¬°µu¼È¡A¤~§óÅã±o¬Ã¶Q¡CÃø±o¨Ó¤@½ë¤H¶¡¡AÀ³°Ý¬O§_¬°¤H¶¡µo´§¤F¦Û¤vªº¨}¯à¡A¦Ó¤£­n¤@¨ý¨Dªø¹Ø¡C
ªð¦^¦Cªí ¤W¤@¥DÃD