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

[µo°Ý] [µo°Ý]EXCEL ¸ê®Æ¬d´M¦^¶Ç°ÝÃD

[µo°Ý] [µo°Ý]EXCEL ¸ê®Æ¬d´M¦^¶Ç°ÝÃD

¥»©«³Ì«á¥Ñ hanachau ©ó 2015-6-9 11:59 ½s¿è


¹Ï¤@,AÄæ¬O¶i³f¤é´Á,®Ú¾Ú¶i³f¤é´Á¬y¤ô¤é©¹¤U¶ñ,BÄæ¬O«~¶µ½s¸¹,LÄæ¬O¥Í²£¤é´Á,MÄæ¬O¦³®Ä¤é´Á,
¦³®É¦P¤@¤Ñ¦P¤@°Ó«~·|¦³¤£¦Pªº¼t°Ó¶i³f,¤£¦P§å³f¥Í²£¤é´Á©M¦³®Ä¤é´Á¤£¦P,¦]¬°¶i³f¤é´Á¤£¦P©Î¶i³f¼t°Ó¤£¦P,
©Ò¥HBÄ檺«~¶µ½s¸¹B1¦³B58¤]¦³

§Æ±æ¯à¶×¾ã¦¨¹Ï¤G.¥i¥H²M·¡ª¾¹D¨C­Ó«~¶µ¨C¤@§åªº¥Í²£¤é´Á©M¦³®Ä´Á­­,
¦]¬°¶ñªíªº³£¬O¥~°ê¤H,¤£·Q¼W¥[¥L­Ìªº­t¾á¤F,¦³¥i¥H¤£¼W¥[¹Ï¤@ªí®æÄæ¦C,¦ý¥i¼W¥[¤u§@ªí(¹Ï¤G)ªº¤èªk¶Ü?

PS,ª¦¤åª¦¤F«Ü¤[,¦³¸ÕµÛ¨Ï¥Îindex/match/row/column¦ý¥i¯à§Ú¤Ó²Â¤F,³£没¦³¦¨¥\,
¥D­n°ÝÃD¬O,³æ¤@¶i³f«~¶µ§äªº¨ì,¦ý¦P¤@¤é¦P¤@«~¶µ¶i³f¤G¦¸ªº´N¤£¦æ,
§Æ±æ°ª¤â¤j¤j­Ì¯àÀ°­Ó¦£,±Ð¾Ç¤@¤U,ÁÂÁÂ

http://blog.xuite.net/hcm19522/twblog/351072867

TOP

¸Õ¸ÕVBA:
  1. Option Explicit
  2. '°ÆVBA
  3. '±N¦Uªíªº«~¶µ½s¸¹¥þ³¡¶×¤JÁ`ªíªºÄæB(¥Î¤£­«Âпz¿ï)
  4. Sub ¨ú±o¥þ³¡«~¶µ½s¸¹()
  5.     Dim sh2 As Worksheet
  6.     Dim i, shCnt, LastRow1, LastRow2 As Integer
  7.     Set sh2 = Sheets("Á`ªí")
  8.     Dim Rng1, Rng2 As Range
  9.     '²M°£¤u§@°Ï
  10.     sh2.[A3:IU65536].ClearContents
  11.     shCnt = ThisWorkbook.Sheets.Count
  12.    
  13.     '±N«~¶µ½s¸¹¥þ³¡¶×¤JÁ`ªíªºÄæIU
  14.     For i = 1 To shCnt
  15.         If Sheets(i).Name <> sh2.Name Then
  16.             LastRow1 = Sheets(i).[B65536].End(xlUp).Row
  17.             LastRow2 = sh2.[IU65536].End(xlUp).Row + 1
  18.             Sheets(i).[B3].Resize(LastRow1 - 2, 1).Copy sh2.Cells(LastRow2, 255)
  19.         End If
  20.     Next
  21.     '¨Ã±NÁ`ªíªºÄæIUªº«~¶µ½s¸¹,¥Î¤£­«Âпz¿ï¨ìÁ`ªíªºÄæA
  22.     sh2.[IU2:IU65536].AdvancedFilter Action:=xlFilterCopy, _
  23.         CopyToRange:=sh2.[A2], Unique:=True
  24.     '²M°£¼È¦s°Ï
  25.     sh2.[IU3:IU65536].ClearContents
  26. End Sub
  27. '¥DVBA
  28. Private Sub «Ø¥ßÁ`ªí_Click()
  29.     Dim sh2 As Worksheet
  30.     Dim i, j, shCnt, LastRow1, Row2, LastCol2 As Integer
  31.     Dim FindStr As String
  32.     Dim Rng1, FindRng As Range
  33.     Set sh2 = Sheets("Á`ªí")
  34.     sh2.Activate
  35.     shCnt = ThisWorkbook.Sheets.Count
  36.     ¨ú±o¥þ³¡«~¶µ½s¸¹
  37.     For i = 1 To shCnt
  38.         If Sheets(i).Name <> sh2.Name Then
  39.             LastRow1 = Sheets(i).[B65536].End(xlUp).Row
  40.             For j = 3 To LastRow1
  41.                 Set Rng1 = Sheets(i).Cells(j, 2)
  42.                 'sh2.[A:A]¬O±ý·j´M½d, ­Y·j´M¨ì FindStr «h¦s¤J FindRng, §_«h FindRng=Nothing
  43.                 FindStr = Rng1
  44.                 Set FindRng = sh2.Range("A:A").Find(FindStr, lookat:=1)
  45.                 If Not FindRng Is Nothing Then
  46.                    LastCol2 = sh2.Cells(FindRng.Row, 255).End(xlToLeft).Column + 1
  47.                    FindRng.Offset(0, LastCol2 - 1) = Sheets(i).Cells(j, 12)   '¥Í²£¤é´Á
  48.                    FindRng.Offset(0, LastCol2) = Sheets(i).Cells(j, 13)       '¦³®Ä¤é´Á
  49.                 End If
  50.             Next
  51.         End If
  52.     Next
  53.     sh2.[A2].Select
  54. End Sub
½Æ»s¥N½X
Á`ªí.gif

TOP

        ÀR«ä¦Û¦b : ¦h°µ¦h±o¡C¤Ö°µ¦h¥¢¡C
ªð¦^¦Cªí ¤W¤@¥DÃD