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

¡mµo°Ý¡nvba-¦W³æ¤ñ¹ï¬Û²Å¦X¦^¼g¸ê®Æ

¥»©«³Ì«á¥Ñ GBKEE ©ó 2014-1-17 10:11 ½s¿è

¦^´_ 5# eric093
¦³¤£¸Ñ¤§³B ½×¾Â¤¤·j´MÃöÁä¦r,¦h¬Ý¬Ý·|¶i¨Bªº.
¥t¤@¼gªk¨Ñ°Ñ¦Ò
  1. Option Explicit
  2. Sub ¤ñ¹ï¦W³æ()
  3.     Dim Rng(1 To 3) As Range, E As Range
  4.     Sheets("¤ñ¹ï«á¸ê®Æ").UsedRange.Offset(1).Clear ''²Ä¤@¦Cªº ©m¦W,©~¦í¦a,©Ê§O,¦~ÄÖ,¤£²M°£
  5.     Set Rng(1) = Sheets("¸ê®Æ¨Ó·½").Range("A:A")                    '¸ê®Æ¨Ó·½¦W³æ
  6.     Set Rng(2) = Sheets("¦W³æ").Range("A2")                         '²Ä¤@­Ó¤H¦W
  7.     Do While Rng(2) <> ""
  8.         Set Rng(3) = Rng(1).Find(Rng(2), lookat:=xlWhole)           '¸ê®Æ¨Ó·½¦W³æ¤¤·j´M¤H¦W
  9.         If Not Rng(3) Is Nothing Then                               'Not Rng Is Nothing :¦³§ä¨ì¤H¦W
  10.             Rng(1).Replace Rng(2), "=gbkee", xlWhole                '±N¬Û¦Pªº¤H¦W´À´«¬°¿ù»~­È
  11.             With Rng(1).SpecialCells(xlCellTypeFormulas, xlErrors)  '¯S®íªº½d³ò(¤½¦¡,¿ù»~­È)
  12.                 .Value = Rng(2)                                     '¿ù»~­È§ï¦^¤H¦W
  13.                 For Each E In .Cells                                'Each E : ¤@­Ó°}¦C©Î¶°¦X¤¤ªº¨C¤@¤¸¯À©Î¦¨­û
  14.                     With Sheets("¤ñ¹ï«á¸ê®Æ")
  15.                         'E.Resize(, 4).Copy .Cells(.UsedRange.Rows.Count + 1, "A")  '³sÄòªº4Äæ
  16.                         '¥i¯à¬OA¡BB¡BC¡BG¡BIÄæ (¤£³sÄò5Äæ)
  17.                         .Cells(.UsedRange.Rows.Count + 1, "A").Resize(, 5) = Array(E, E.Range("B1"), E.Range("C1"), E.Range("G1"), E.Range("I1"))
  18.                     End With
  19.                 Next
  20.             End With
  21.         End If
  22.         Set Rng(2) = Rng(2).Offset(1)                               '¤U¤@­Ó¤H¦W
  23.     Loop
  24. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 7# b9208
  1. Option Explicit
  2. Option Base 1
  3. Sub ¤ñ¹ï¦W³æ()
  4.     Dim Ar(1 To 2), Ax(), E As Variant, i As Integer, S As Integer
  5.     Ar(1) = Application.Transpose(Sheets("¦W³æ").UsedRange.Columns(1))  '¦W³æªº¸ê®ÆÂà¤J°}¦C
  6.     Ar(2) = Sheets("¸ê®Æ¨Ó·½").UsedRange                                '¸ê®Æ¨Ó·½ªº¸ê®ÆÂà¤J°}¦C
  7.     S = 1
  8.     For Each E In Ar(1)       '*** ½Ð­×¥¿ ¦W³æªº¼ÐÀY= ¸ê®Æ¨Ó·½:¦W³æªº¼ÐÀY
  9.         For i = 1 To UBound(Ar(2))
  10.             If InStr(Ar(2)(i, 1), E) Then    '¦³¤ñ¹ï¨ì>0 ±ø¥ó¦¨¥ß
  11.             'InStr ¨ç¼Æ ¶Ç¦^¦b¬Y¦r¦ê¤¤¤@¦r¦êªº³Ì¥ý¥X²{¦ì¸m¡A¦¹¦ì¸m¬° Variant (Long)¡C
  12.             ReDim Preserve Ax(S)
  13.             Ax(S) = Application.Index(Ar(2), i)  '¨ú³sÄòÄæ¦ì
  14.             '******* ¨ú¤£³sÄòªºÄæ¦ì 'A.B.C.E.G,H->1,2,3,5,7,8
  15.             'Ax(S) = Array(Ax(S)(1), Ax(S)(2), Ax(S)(3), Ax(S)(5), Ax(S)(7), Ax(S)(8))
  16.             S = S + 1
  17.             End If
  18.         Next
  19.     Next
  20.     Sheets("¤ñ¹ï«á¸ê®Æ").UsedRange.Clear    '¥þ³¡²M°£
  21.     Sheets("¤ñ¹ï«á¸ê®Æ").[a1].Resize(UBound(Ax, 1), UBound(Ax(1))) = Application.Transpose(Application.Transpose(Ax))
  22. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 11# eric093
  1. '¨S¬Ý¨ìÀɮפ£¸Ñ¬°¦ó­n
  2. For Each E In .Cells      
  3.                 For Each K In .Cells
  4. '¦³¨â­Ó  For Each  , ¤@­Ó  For Each ¤£¦æ¶Ü?
  5.                    With Sheets("¤ñ¹ï«á¸ê®Æ")
  6.                     «e­±­n      .Cells(.UsedRange.Rows.Count + 1, "C").Value = K.Offset(, 1)
  7.                     «e­±­n     .Cells(.UsedRange.Rows.Count, "A").Value = E
  8.                     «e­±­n     .Cells(.UsedRange.Rows.Count, "B").Value = E.Range("B1")                     
  9.                
  10.                    End With
  11.                 Next
  12.              Next
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 13# eric093
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub tt()
  3.     Dim Rng(1 To 3) As Range, E As Range
  4.     Set Rng(1) = Sheets("¦W³æ").Range("a2")
  5.     Set Rng(2) = Sheets("¸ê®Æ¨Ó·½").Range("a:a")
  6.     Sheets("¤ñ¹ï«á¸ê®Æ").UsedRange.Offset(1).Clear ''²M°£Â¦³¸ê®Æ
  7.     Do While Rng(1) <> ""
  8.         Set Rng(3) = Rng(2).Find(Rng(1), lookat:=xlWhole)
  9.         If Not Rng(3) Is Nothing Then
  10.             Rng(2).Replace Rng(1), "=book", xlWhole
  11.             With Rng(2).SpecialCells(xlCellTypeFormulas, xlErrors)
  12.                 .Value = Rng(1)
  13.                 For Each E In .Cells
  14.                     With Sheets("¤ñ¹ï«á¸ê®Æ")
  15.                         With .Cells(.UsedRange.Rows.Count + 1, "A")
  16.                             .Range("A1") = E
  17.                             .Range("B1") = E.Range("B1")
  18.                             .Range("C1") = Rng(1).Range("B1")
  19.                         End With
  20.                    End With
  21.                 Next
  22.             End With
  23.         End If
  24.         Set Rng(1) = Rng(1).Offset(1)
  25.     Loop
  26. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 16# handsometrowa
  1. Option Explicit
  2. Sub tt()
  3.     Dim Rng(1 To 3) As Range, E As Range
  4.     Set Rng(1) = Sheets("¦W³æ").Range("a2")
  5.     Set Rng(2) = Sheets("¸ê®Æ¨Ó·½").Range("a:a")
  6.     Sheets("¤ñ¹ï«á¸ê®Æ").UsedRange.Offset(1).Clear ''²M°£Â¦³¸ê®Æ
  7.     Do While Rng(1) <> ""
  8.         Set Rng(3) = Rng(2).Find(Rng(1), lookat:=xlWhole)
  9.         If Not Rng(3) Is Nothing Then    '½T©w½d³ò¦³Rng(1)ªº¦r¦ê
  10.             '³q±`­n·j´M¯S©wªº¸ê®Æ¸ê¦ê·|¥ÎFIND ¤@¤@ªº·j´M
  11.             '³o¸Ì¥ÎReplace ¤èªk ¤@¦¸±N·j´M¯S©wªº¸ê®Æ¸ê¦ê,§ï¬°¿ù»~­È
  12.             '¤]¬O¤@¤¤·j´M¯S©wªº¸ê®Æ¸ê¦êªº¤èªk
  13.             Rng(2).Replace Rng(1), "=book", xlWhole
  14.             With Rng(2).SpecialCells(xlCellTypeFormulas, xlErrors) '¯S®íªº½d³ò(¤½¦¡,¿ù»~­È)
  15.                                                                    'Rng(2)½d³ò¦³"¿ù»~­È"ªºÀx¦s®æ
  16.                 .Value = Rng(1)  '§ó¥¿¦^­ì¦³ªº¸ê®Æ
  17.                 For Each E In .Cells
  18.                     With Sheets("¤ñ¹ï«á¸ê®Æ")
  19.                         With .Cells(.UsedRange.Rows.Count + 1, "A")
  20.                             .Range("A1") = E
  21.                             .Range("B1") = E.Range("B1")
  22.                             .Range("C1") = Rng(1).Range("B1")
  23.                         End With
  24.                    End With
  25.                 Next
  26.             End With
  27.         End If
  28.         Set Rng(1) = Rng(1).Offset(1)
  29.     Loop
  30. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 18# yen956

Dim A As Long

   
VBA ªº»¡©ú

Long ¸ê®Æ«¬ºA Long (ªø¾ã¼Æ)ÅܼƫY¥H½d³ò±q -2,147,483,648 ¨ì 2,147,483,647 ¤§ 32 ¦ì¤¸ (4 ­Ó¦ì¤¸²Õ) ¦³¸¹¼Æ¦r§Î¦¡Àx¦s¡CLong ªº«¬ºA«Å§i¦r¤¸¬° &¡C
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 20# yen956
   
¤@¦V«Ü¤Ö¥ÎOption Explicit,

¦pµ{¦¡Ãe¤j¨Ç,³o²ßºD¤£¦n.
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ÀR§¤±`®¦¤v¹L¡B¶¢½Í²ö½×¤H«D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD