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

[µo°Ý] Æäªþ¹ÏÆåÆäªþµ{¦¡½XÆåVBA·s¤â¨D¸Ñ

[µo°Ý] Æäªþ¹ÏÆåÆäªþµ{¦¡½XÆåVBA·s¤â¨D¸Ñ

¦U¦ì¤j¤j§A­Ì¦n¡A¤p§Ì³o¨â¤Ñ­è±µÄ²VBA¡A·Q¸Ñ¨M¤u§@¤Wªº§xÂZ¡A
§Ú¬O¤@Ãä¿ý»s¥¨¶°¡A¤@Ãä¬Ý»yªk¾Çªº¡A¤£¹L«Ü§Ö´N³´¤J²~ÀV¤F¡A³Â·Ð¦U¦ì«ü¾É¤@¤U

¥H¤U§Ë¤F­Ó¸û²³æªº¨â­ÓEXCELÀÉ¡A·Q¾Ç²ß®Ú¥»ªºÀ³¥Î¡A¤§«á¦A¦Û¤v®M¥Î¨ì¤u§@ªº¤å¥ó
¥Ø¼Ð¡G±q ¬¡­¶Ã¯2 ¤¤¡A¿ï¨ú ¿ù»~½s¸¹ ªº­È¡A¦A¨ì ¬¡­¶Ã¯1 ¤¤¡A
¡@¡@¡@§ä¨ì¬Û¦Pªº­È¨Ã±N¸Ó¦C¥H ¶À¦â ¶ñº¡

¬¡­¶Ã¯1¡G
½s¸¹.JPG
¬¡­¶Ã¯2¡G
¿ù»~½s¸¹.JPG
§Æ±æªºµ²ªG¡G
½s¸¹_µ²ªG.JPG
´dºGªºµ{¦¡½X¡G


ªþ¤Wµ{¦¡½X¤å¦rÀÉ¡G
Sub ¥¨¶°12()
Dim i, n As Integer '«Å§i ¾ã¼Æi
Dim x As String '«Å§i ¦r¦êx
Dim y As Range '«Å§iÀx¦s®æ½d³ò...?

    Windows("¬¡­¶Ã¯1.xlsx").Activate '¶}±Ò ¥þ³¡½s¸¹ ªº EXCELµøµ¡
    Range("D1").Select '¿ï©wD1¡]Á`µ§¼Æ¡^
    n = Selection.Value 'Àx¦sÁ`µ§¼Æ ¨ì n¡A¨Ñ¤U¦Cªº°j°é¨Ï¥Î

    For i = 3 To (n + 1) Step 1 '¦³´Xµ§¿ù»~½s¸¹´N°õ¦æ´X¦¸
        Windows("¬¡­¶Ã¯2.xlsx").Activate '¶}±Ò ¿ù»~½s¸¹ ªº EXCELµøµ¡
        Range("A" & i).Select '¿ï¨úÀx¦s®æ
        x = Selection.Copy '½Æ»s¤w¿ï¨úªºÀx¦s®æ
        Windows("¬¡­¶Ã¯1.xlsx").Activate '¶}±Ò ¥þ³¡½s¸¹ ªº EXCELµøµ¡
        
        Set y = Range("A2", "A50000").Find(x, LookIn:=xlValues)
        '¨ä¹ê¯à·j´M¾ã­ÓAÄæ´N¥i¥H¤F¡A¦ý§ÚÁÙ¤£¤Ó·|¼g¡A©Ò¥H¤~¼g³o¼Ë¡A50000¬O¦]¬°­È¤£·|¶W¹L³o¼Æ¦r
        '³o¬q¥D­n¬O·Q­n¹F¨ì"·j´Mªº¥\¯à¡A§O°Ý§Ú¬°¤°»ò­n¦h¤@­Óy¨ÓÀx¦s...¡@¦]¬°µ{¦¡³o¼Ë¤~¶]±o°Ê QQ"
            
            If Not y Is Nothing Then
                y.Select '¿ï¨ú·j´Mµ²ªGªºÀx¦s®æ...?
                '§Ú©Ó»{³oÃä¶Ã¼g...
               
                Application.CutCopyMode = False '§Ú¤£¤Óª¾¹D³o¦æªº¥\¥Î
                With Selection.Interior '§ïÅÜ·j´Mµ²ªGªºÀx¦s®æªºÃC¦â¡]³o¸Ì¤£ª¾¹D«ç»ò¿ï¨ú¾ã¦C¡^
                    .Pattern = xlSolid
                    .PatternColorIndex = xlAutomatic
                    .Color = 65535
                    .TintAndShade = 0
                    .PatternTintAndShade = 0
                End With
               
            End If
    Next i
End Sub


µy·L¾ã²z¤@¤U§Úªº°ÝÃD¡G
1. "·j´M"ªº»yªk¡B¯à§_¤@¦¸·j´M¦hµ§¸ê®Æ¡]¤£µM¸ê®Æ100µ§¥H¤W´N·|¶]«Ü¤[¡^
2. ¦pªG·j´Mµ²ªG¤£¦s¦b¥i§_±N¨ä¸ê®Æ¦b¥t¥~¤@­Ó¦a¤èÅã¥Ü©ÎÀx¦s
¡]ÁöµM¤u§@¤WÀ³¸Ó¤£·|¥X²{³oª¬ªp¡A¦ý¦pªGµo¥ÍÁÙ¬O§Æ±æ¯à§ä¥X¨Ó¡A²¦³º³oªí¥Ü¾ã­Ó¤å¥ó¥i¯à¦³°ÝÃD¤F...¡^
3. §ïÅÜÀx¦s®æ¶ñº¡ÃC¦âªº³¡¤À¡A¦³§ó²µuªº»yªk¶Ü?¡]with¸Ì­±ªº¤º®e¤£¤ÓÁA¸Ñ¡^
4. ¦p¦ó±N¬Y­ÓÀx¦s®æªº¦ì¸m¦s¨ìÅܼƭȤº¡A¦A¨Ï¥Îselect©Î¨ä¥L¤è¦¡¿ï¨ú¸ÓÀx¦s®æ¡]¤]´N¬O¬Ý°_¨Ó«Ü¸Þ²§ªº¨º¥y "y.Select" ·Q¹F¦¨ªº§@¥Î¡^

°ÝÃD¦³ÂIÂø¡AÁٽЦU¦ì¯à´£ÂI¤@¤U¤p§Ì¡A·P¿E¤£ºÉ

½s¸¹.JPG (10.75 KB)

½s¸¹.JPG

¿ù»~½s¸¹.JPG (9.96 KB)

¿ù»~½s¸¹.JPG

½s¸¹_µ²ªG.JPG (12.56 KB)

½s¸¹_µ²ªG.JPG

VBA.JPG (57.3 KB)

VBA.JPG

¦^´_ 1# chengchi1223
¥H³æ¤@¬¡­¶Ã¯ªº¼Ò¦¡¡A¦Ó°µªº½d¨Ò¡G
  1. Sub Ex()
  2.     Dim sh As Worksheet, dat As Variant, rw As Range
  3.    
  4.     Set sh = Sheets("¤u§@ªí2")
  5.     With Sheets("¤u§@ªí3")
  6.         For Each dat In Range(.Range("A2"), .Range("A2").End(xlDown))
  7.             Set rw = sh.Range("A2:A" & sh.Range("A2").End(xlDown).Row).Find(dat, , LookIn:=xlValues, LookAt:=xlWhole)
  8.             If Not rw Is Nothing Then
  9.                 sh.Rows(rw.Row).Interior.ColorIndex = 6
  10.             End If
  11.         Next
  12.     End With
  13. End Sub
½Æ»s¥N½X

TOP

¦^´_ 2# c_c_lai


·PÁÂc_c_lai¤j¤jªº½d¨Òµ{¦¡¡Aµuµu´X¦æ´N´X¥G§¹¦¨§Ú©Ò¦³­n¨D¡A¹ê¦b¤Ó¼F®`¤F
¦U¥y»yªkŪ°_¨Ó¤]¤Q¤À²M·¡¡A°ß¿W
  1. Find(dat, , LookIn:=xlValues, LookAt:=xlWhole)
½Æ»s¥N½X
³o³¡¤À¦³¨ÇºÃ°Ý¡G
1. LookAt±`¼Æ¥i¥H¬° xlWhole ©Î xlPart¡A³o¨â­Ó®t²§¦b­þ©O¡H
¡@¨â­Ó³£¸Õ¹L¡A¦Ü¤Ö¦b³oµ{¦¡¤º°õ¦æ³£¨S¦³¥X¿ù¡A©Ò¥H¤£©ú¥Õ¨ä¤¤®t²§
2. dat ¤Î LookIn:=xlValues ¤§¶¡¦³¨â­Ó³rÂI¬O¦h¥´¤F¶Ü¡HÁÙ¬OªÅ¤UAfterªº­È¡H¦³¤°»ò¯S§Oªº¥Øªº¶Ü¡H
¡@¸ò 1. ¤@¼Ë§R°£»P§_¦b³oµ{¦¡¤º³£¤£¼vÅTµ²ªG

¥H¤W¨âÂI¤@¼Ëºâ¬O«Ü°ò¦ªº°ÝÃD...¡@ÁٽФj¤j«ü¾É¡@

TOP

¥t¥~ªþ¤W¨Ç·L­×§ïªºµ{¦¡½X¡A¼W¥[µù¸Ñ¤W¥h¡A¦³²z¸Ñ¿ù»~ªº¦a¤èÁٽФ£§[«ü¥¿
  1. Sub ±q¤u§@ªí1¤¤_¼Ð¥X¤u§@ªí2ªº­È()
  2.     Dim sh As Worksheet, dat As Variant, rw As Range
  3.     'sh ¬°¤u§@ªí¡Fdat ¬°Åܼơ]µL¯S©w«¬ºA¡^¡Frw ¬°Àx¦s®æ
  4.    
  5.     Set sh = Sheets("¤u§@ªí1") '«ü¬£ ¤u§@ªí1 µ¹ sh
  6.    
  7.     With Sheets("¤u§@ªí2") '¹ï ¤u§@ªí2 °õ¦æ¤U¦C¤º®e
  8.    
  9.         For Each dat In Range(.Range("A2"), .Range("A2").End(xlDown)) '¹ï ¤u§@ªí2 ¤º¡A A2¥H¤Uªº¨C­ÓÀx¦s®æ°õ¦æ¤U¦C¤º®e
  10.             
  11.             Set rw = sh.Range("A2:A" & sh.Range("A2").End(xlDown).Row).Find(dat, , LookIn:=xlValues, LookAt:=xlWhole)
  12.             '±N¦b ¤u§@ªí1 ¤¤§ä¨ìªº¨º­ÓÀx¦s®æ¡]»P ¤u§@ªí2 ¤¤ªº­È¬Û¦P¡^«ü¬£µ¹ rw
  13.             
  14.             If Not rw Is Nothing Then '­Yrw¦³­È¦s¦b¡A°õ¦æ¤U¦C¤º®e
  15.                 sh.Rows(rw.Row).Interior.ColorIndex = 6 '±N ¤u§@ªí1 ¤¤ rw ¨º¤@¦CÃC¦âÄݩʧאּ¶À¦â
  16.             End If
  17.             
  18.         Next
  19.         
  20.     End With
  21.    
  22. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-6-28 17:35 ½s¿è

¦^´_ 3# chengchi1223
Range.Find ¤èªk (Excel)
    Find(dat, , LookIn:=xlValues, LookAt:=xlWhole) µ¥©ó
    Find(dat, LookIn:=xlValues, LookAt:=xlWhole)
    ---------------------------------------------------
¹Bºâ¦¡.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
P.S.   ¹Bºâ¦¡.Find(Required, ¿ï¥Î, ¿ï¥Î, ¿ï¥Î, ¿ï¥Î, ¿ï¥Î, ¿ï¥Î, ¿ï¥Î, ¿ï¥Î)
¹Bºâ¦¡ ¥Nªí Range ª«¥óªºÅܼơC
¦pªG¥u¼Ð¥Ü (A2 = 2) ¡G Find(dat, LookIn:=xlValues) ¥¦·|§ì¨ì  2 ©ÎªÌ¬O 12
(³¡¤À§k¦X LookAt:=xlPart)¡A ©Ò¥H¤~«ü¦W­n LookAt:=xlWhole ( 2 = 2)¡C

TOP

¦^´_ 4# chengchi1223
¨S¿ù¡A¸ÑªR±o«Ü¦n¡A rw ¬° Range ¤Þ¤J­È¡A
¬O¬G sh.Rows(rw.Row) ªº rw.Row §Y¬°
¨ä¥Ø«e©Ò¦b¦ì§} (rw.Address) ªº¦C¸¹ (¦æ¼Æ)¡C
¦p¦¹§A«K¥i¥H¦Û¦æ¥h©µ¦ù¬°¨â­Ó¬¡­¶Ã¯À³¥Î¤F¡C

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