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

excel vba ¬d§ä

excel vba ¬d§ä

(¤u§@ªí1)                                                                     (¤u§@ªí2)                           
          2001 2002 2003 2004 2005                                             
A           2      4        1        0       12                                     D  2002      8
B           3       5       0        0         7                                      F  2003      9
C           7      0       4        2          5                                     G  2001
D           0      8      9         7         2
E           7     10     11      5         8
F          6       8        9      10       0
½Ð°Ý§Ú±q¤u§@ªí1ªºÁ`Àɤ¤¡A¬d§ä¤u§@ªí2ªº¥N¸¹¤Î¬Û¦P¦~¤À¡A¦pªG³£²Å¦Xªº¸Ü¡A«h§â¤u§@ªí1¤¤²Å¦Xªº­È¡A¶K¨ì¤u§@ªí2¤¤¬Û¹ïÀ³ªºÀx¦s®æ¤¤
¦ý¬O¥Ø«e§Úªºµ{¦¡¶]¤£°Ê¡A¦]¦¹§Æ±æ¦U¦ì°ª¤â¥i¥HÀ°¦£¬Ý¬Ý

Sub ro()
Dim ii, kk As Integer
Dim jj As Long
Dim AA, TT As Object
  Set AA = Worksheets("¤u§@ªí1")
  Set TT = .Worksheets("¤u§@ªí2")
   For jj = 3 To 22355
     For ii = 2 To 1068
       For kk = 3 To 40
           Set cusip = AA.Cells(jj, 2).Find(What:=TT.Cells(ii, 6), LookIn:=xlFormulas)   '±q¤u§@ªí1¬d¸ß©M¼Ë¥»¬Û¦Pcusip'
           If Not cusip Is Nothing Then
                Set tdate = AA.Cells(1, kk).Find(What:=TT.Cells(ii, 2), LookIn:=xlFormulas)     '´M§ä¬Û¦P¦~¤À'
                If Not tdate Is Nothing Then
                AA.Cells(jj, kk).Copy Destination:=TT.Cells(ii, 7)
                End If
           Else
           End If
       Next kk
     Next ii
   Next jj
End Sub

google"EXCEL°g"  blog  ©Îgoogleºô§}:https://hcm19522.blogspot.com/

TOP

«Ü¼F®`ªºÅÞ¿è

TOP

Sub ¬d§ä()
Dim xR%, xY%, zR%, j%, xC%
Set SH1 = Sheet1
Set SH2 = Sheet2
xR = SH1.Cells(Rows.Count, "A").End(3).Row
xY = SH1.Cells(1, Columns.Count).End(xlToLeft).Column
Ar = SH1.Cells(1, 1).Resize(xR, xY)
zR = SH2.Cells(Rows.Count, "A").End(3).Row
With SH2
For j = 2 To zR
xC = SH1.Rows(1).Find(.Cells(j, "B")).Column
.Cells(j, "C") = Application.VLookup(.Cells(j, "A"), Ar, xC, 0)
Next
End With
End Sub
cjw

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

¦^´_ 8# lpk187


    ¤Ó¼F®`¤F!!¤£¹L¥i¥H½Ð¤j¤jµy·L¸Ñ»¡¤@¤U¶Ü?
             For Each crng In bb.Range("e1", co)
             For Each ng In AA.Range("c1", shco.Address)
            ³o¸Ì¬Ý¤£¾A»áÀ´­C!

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

¦^´_ 6# lpk187

¦]¬°µLªkª½±µ¶KÀɮ׳sµ²¡A¬G©ñ¦btxtÀÉ¡A¥HÀ£ÁYÀɤW¶Ç³sµ²
Àɮ׳sµ².rar (148 Bytes)

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

¦^´_ 4# lpk187

sheet1ªøªº¬O¹³³o¼Ë

TOP

        ÀR«ä¦Û¦b : ·O´d¨S¦³¼Ä¤H¡A´¼¼z¤£°_·Ð´o¡C
ªð¦^¦Cªí ¤W¤@¥DÃD