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

excel vba ¬d§ä

¥»©«³Ì«á¥Ñ lpk187 ©ó 2016-10-17 11:01 ½s¿è

¦^´_ 1# markbaseball
µ½¥Î°Ï°ìÅܼƵøµ¡¥H¤ÎF8(³v¨B°õ¦æ)¨ÓÆ[¬Ý§Aªº¥N½X¡A´N®e©ö§ì¨ì°ÝÃD©Ò¦b¤F
  1. Sub ro()
  2.     Dim ro As Integer
  3.     Dim AA As Worksheet
  4.     Dim rng As Range, r As Range, c As Range
  5.     Set AA = Worksheets("¤u§@ªí1")
  6.     With Sheets("¤u§@ªí2") '¥H¤u§@ªí2°µ¥Ø¼Ð°Ï°ì
  7.         ro = .[A65535].End(xlUp).Row '´M§äAÄ檺³Ì«á¤@®æªº¦C¸¹
  8.         For Each rng In .Range("a1:a" & ro) '¥HA1:A(roªº¼Æ­È)¬°½d³ò°µ´`Àô
  9.             Set r = AA.Columns(1).Find(rng, LookIn:=xlFormulas) '¦b¤u§@ªí1ªºAÄæ(Columns(1))¡A´M§ä¥N¸¹
  10.             Set c = AA.Rows(1).Find(rng.Offset(, 1), LookIn:=xlFormulas) '¦b¤u§@ªí1ªº²Ä¤@¦C(Rows(1))¡A´M§ä¦~¥÷
  11.             If Not r Is Nothing And Not c Is Nothing Then '¥N¸¹©M¦~¥÷³£§ä¨ì¤~°õ¦æ
  12.                 rng.Offset(, 2) = AA.Cells(r.Row, c.Column) '§â§ä¨ìªº®y¼Ð¤Wªº­È¶K¨ì rng(AÄæ) «áªº²Ä¤GÄæ(CÄæ)
  13.             End If
  14.             Set r =Nothing
  15.             Set c=Nothing
  16.         Next
  17.     End With
  18. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ lpk187 ©ó 2016-10-18 10:55 ½s¿è

¦^´_ 3# markbaseball

¤£¦n·N«ä¡I§Ú¤£À´§Aªº¦~¥÷´`Àô¬O¤°»ò·N«ä¡A©µÄò¶Ü¡H
§Ú¥ý°²³]¬O©µÄò¦n¤F¡A¤W­zµ{§ÇªºSet c = AA.Rows(1).Find(rng.Offset(, 1), LookIn:=xlFormulas)
´N¬O¬d§ä¦~¥÷¡A¥u­n¬O§Aªº¦~¥÷³£©ñ¦b²Ä¤@¦C(¾ã¦C)¡A³£¥i¥H§ä¨ì¡C¦pªG¦~¥÷©ñ¦b²Ä¤G¦C¡A«h AA.Rows(1)§ï¦¨ AA.Rows(2)¡A¨Ì¦¹Ãþ±À
§Aªº°ÝÃD¤¤¦³2­Ó±ø¥ó¡A¤@­Ó¬O§ä¦~¥÷¡A¤@­Ó¬O§ä¥N¸¹¡A¦~¥÷¬O§ä²Ä¤@¦C(¾ã¦C)¡A¥N¸¹«h¬O§äAÄæ(¾ãÄæ)

­Y¤´¦³°ÝÃD¡A«Øij¤W¶ÇÀÉ®×

TOP

¥»©«³Ì«á¥Ñ lpk187 ©ó 2016-10-18 11:44 ½s¿è

¦^´_ 5# markbaseball


    §c¡I¨º¤u§@ªí2©O¡H¤£¯à¤W¶ÇÀɮ׶ܡH¬°¤F¦^µª§Aªº°ÝÃD¡A¦^µªªº¤HÁÙ±o§@¤@­Ó©M§A¤@¼Ëªº¬¡­¶Ã¯¡H
³o¼Ë¤£¤@©w¯à²Å¦X§Aªº»Ý¨Dªº¡I
ÁÙ¦³¤@¦¸»¡²M·¡§Aªº»Ý¨D¬O¤°»ò¡A§Aªº¹Ï¤ù©M¤@¼Óªº°ÝÃD¦³ÂI¤£¤@¼Ë¤F¡I

TOP

¦^´_ 7# markbaseball
  1. Sub ro()
  2.     Dim ro As Range, co As Range
  3.     Dim AA As Worksheet, bb As Worksheet
  4.     Dim rng As Range, r As Range, shco As Range
  5.     Dim crng As Range, ng As Range
  6.     Set AA = Worksheets("¤u§@ªí1")
  7.     Set bb = Worksheets("¤u§@ªí2")
  8.     Set ro = bb.[D65535].End(xlUp)
  9.     Set co = bb.[E1].End(xlToRight)
  10.     Set shco = AA.[c1].End(xlToRight)
  11.     For Each rng In bb.Range("D2", ro.Address)
  12.         If rng <> "" Then
  13.         Set r = AA.Columns(2).Find(rng, LookIn:=xlFormulas)
  14.         For Each crng In bb.Range("e1", co)
  15.             For Each ng In AA.Range("c1", shco.Address)
  16.                 If ng.Value & ng.Offset(1).Value Like rng.Offset(, -2) & crng.Value & "*" Then
  17.                     If Not r Is Nothing And Not ng Is Nothing Then
  18.                         bb.Cells(rng.row, crng.column) = AA.Cells(r.row, ng.column)
  19.                     End If
  20.                     Exit For
  21.                 End If
  22.             Next
  23.         Next
  24.         Set r = Nothing
  25.         End If
  26.     Next
  27. End Sub
½Æ»s¥N½X

TOP

¦^´_ 9# markbaseball

¤W­zµ{§Ç¥N½X³£¬O«Ü°ò¦ªº»y¥y¡A­Y§A¦³µ½¥Î°Ï°ìÅܼƵøµ¡¥H¤ÎF8(³v¨B°õ¦æ)¨ÓÆ[¬Ý¨ä¥N½Xªº¸Ü¡C¨ä¹ê¤£¥Î¸ÑÄÀ¡A
´N¥i¥H«Ü®e©öªºÆ[¹î¨äµ{§Çªº¤º®e¥H¤Î·N«ä¡A·|¤ñ§Ú¸ÑÄÀ¡A§ó®e©ö²z¸Ñ¡I¡I

¥H¤U¥N½X¬°¤F¸ÑÄÀ¡A­×§ï¤FÅܼƦWºÙ(®e©öÆ[¬Ý)¡A¨ä¤º®e¤]¦³°µµy·Lªº­×¥¿¡C
  1. Sub ro()
  2.     Dim sht2EndRow As Range, sht2EndColumn As Range
  3.     Dim sht_1 As Worksheet, sht_2 As Worksheet
  4.     Dim rng As Range, findCusIP As Range, sht1EndColumn As Range
  5.     Dim crng As Range, ng As Range
  6.     Set sht_1 = Worksheets("¤u§@ªí1")
  7.     Set sht_2 = Worksheets("¤u§@ªí2")
  8.     Set sht2EndRow = sht_2.[D65535].End(xlUp) '§ä ¤u§@ªí2 ªº DÄæ ³Ì«á¤@Àx¦s®æ¡A¨ä»y¥yªº·N«ä¬°¡G±qÀx¦s®æªºD65535©¹¤W§ä¡A§ä¨ì¦³­ÈªºÀx¦s®æ¡A³o¸Ì¤@©w­n©¹¤W§ä¡A¦]¬°DÄ欰¤£³sÄòªº½d³ò(¦³ªÅªºÀx¦s®æ)¡A
  9.     Set sht2EndColumn = sht_2.[E1].End(xlToRight) '§ä ¤u§@ªí2 ªº ²Ä¤@¦C ªº³Ì«á¤@Àx¦s®æ¡A¨ä»y¥yªº·N«ä¬°¡G±q E1 ©¹¥k§ä¨ì³Ì«á¦³­ÈªºÀx¦s®æ
  10.     Set sht1EndColumn = sht_1.[c1].End(xlToRight) '§ä ¤u§@ªí1 ªº ²Ä¤@¦C ªº³Ì«á¤@Àx¦s®æ
  11.    
  12.     For Each rng In sht_2.Range("D2", sht2EndRow) '¥H¤u§@ªí2ªº D2 ¨ì DÄæ ³Ì«á¤@Àx¦s®æªº½d³ò°µ°j°é´`Àô¡A³o¸Ì«ü¦Vªº½d³ò¬O D2:D1068
  13.         If rng <> "" Then '¦pªG ¥Ø¼ÐÀx¦s®æ rng ¤£¬°ªÅ­È¤~°õ¦æ¤º³¡»y¥y
  14.             Set findCusIP = sht_1.Columns(2).find(rng, LookIn:=xlFormulas) '¥ý§ä¨ì CusIP ¦bBÄ檺­þ¤@ ¦C ªºÀx¦s®æ
  15.             If Not findCusIP Is Nothing Then '¦pªG¦³§ä¨ì CusIP¤~°õ¦æ¤U¦C»y¥y
  16.                 For Each crng In sht_2.Range("e1", sht2EndColumn) '¥H¤u§@ªí2 ªº ²Ä¤@¦C ±q E1 ¨ì ²Ä¤@¦C ªº³Ì«á¤@Àx¦s®æªº½d³ò°µ°j°é´`Àô¡A³o¸Ì«ü¦Vªº½d³ò¬O E1:I1
  17.                     ''''''¤U­±°j°é¶}©l´M§ä
  18.                     For Each ng In sht_1.Range("c1", sht1EndColumn) '¥H¤u§@ªí1 ªº C1:KT1 °µ½d³ò ¤ñ¹ï¦~¥÷¥H¤Î¨ä¤U¤@®æªºÀx¦s®æ¤º®e¡A¤ñ¦p¡G1978Return on Equity[Y78]
  19.                         ''''''¤U¦Cªº ng.Value & ng.Offset(1).Value(¤u§@ªí1ªº ¦~¥÷©M¦WºÙ) ©M rng.Offset(, -2) & crng.Value & "*"(¤u§@ªí2ªº¦~¥÷©M¦WºÙ) °µ¤ñ¹ï
  20.                         ''''''³o¸Ìªº "*" ¬O§â¤u§@ªí1ªº²Ä¤G¦C¦WºÙ¤¤ªº¤¤¬A¸¹¥H¤Î¨ä¤º®e¥h°£±¼(»¡¬O¥h°£±¼¡A¦ýÀ³¸Ó»¡¥i¥H¬O¥ô¦óªº¤º®e)
  21.                         If ng.Value & ng.Offset(1).Value Like rng.Offset(, -2) & crng.Value & "*" Then
  22.                             sht_2.Cells(rng.row, crng.column) = sht_1.Cells(findCusIP.row, ng.column) '¤ñ¹ï¦¨¥\«á¼g¤JÀx¦s®æ¡A¤ñ¦p»¡ E2¡BF2¡BG2¡BH2¡BI2 ¨Ì¦¹Ãþ±À
  23.                             Exit For
  24.                         End If
  25.                     Next
  26.                     '''''''''''''
  27.                 Next
  28.             End If
  29.             Set findCusIP = Nothing '·í¦¸ªº°j°éµ²§ô«á¡A³]©w¬°¨S¦³ª«¥ó¡A¥H§Q¤U­Ó°j°é·j´M¡A¨S³]ªº¸Ü¡A«h¦³¥i¯à§ä¨ì¿ù»~ªº¸ê®Æ
  30.         End If
  31.     Next
  32. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤â¤ß¦V¤U¬O§U¤H¡A¤â¤ß¦V¤W¬O¨D¤H¡F§U¤H§Ö¼Ö¡A¨D¤Hµh­W¡C
ªð¦^¦Cªí ¤W¤@¥DÃD