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

[µo°Ý] ½Ð°Ý¦U¦ì«e½úÃö©óFind »P¤ñ¹ïRange °ÝÃD

[µo°Ý] ½Ð°Ý¦U¦ì«e½úÃö©óFind »P¤ñ¹ïRange °ÝÃD

¤£¦n·N«ä¡B½Ð°Ý«e½ú¤@¤U~¤p§Ì¦³¤@¥÷¸ê®Æ±¡ªp¦p¤U¡G
1.¤ñ¹ïdata   2.¨Ó·½data  3.Á`¾ã²z

¸ê®Æ¬°¨Ï¥Îvba ¥h´M§ä"¤ñ¹ïdata"³Ì«á¤@µ§ªº("A~D")ªº¸ê®Æ¡A
¥h®Ö¹ïsheet"¨Ó·½data"¤¤("A~D")ªº¸ê®Æ¦pªG¦³§¹¥þ¬Û²Åªº´N±qsheet"¨Ó·½data"¤¤±N¸Ó¦Cªº¸ê®Æcopy¨ìsheet"Á`¾ã²z"¡C
¦]¤p§Ì¨Ï¥ÎFind¡B¦ý«o¥d¦b³o¦¸»Ý´M§ä¬O¤@­Ó°Ï¶ô¦Ó«D³æ¤@¦r¦ê©ÎÀx¦s®æ¤º®e¡A
©Ò¥H½Ð«e½ú¯à¤£¯à«ü¾É¤@¤U¤p§Ì±µ¤U¨Ó¸Ó¦p¦ó§ï¼g¡H

·PÁÂ~

find »P¤ñ¹ïRange «á±NÄæ¦ìcopy¨ì¬YÄæ .rar (16.33 KB)

¦^´_ 2# GBKEE

·PÁÂGBKEE«e½ú~¤£¦n·N«ä¦A½Ð°Ý¤@¤U¡B¤p§Ì¦pªG·Qª¾¹D§¹¥þ¬Û²Åªº(¨Ó·½data)¬O²Ä´XÄæ¦ì¡A
¦pªGª½±µ¿é¤J(msgbox s) «h·|Åã¥Ü{("A~D")ªº¸ê®Æ}¤º®e¡B¦pªG¿é¤J(msgbox s.address ©Î msgbox s row)³£Åã¥Ü"¤£¥¿½Tªº©w¦ì¶µ¡A
½Ð°Ý¤p§Ì¸Ó¿é¤J¨Ç¤°»ò©O¡H

TOP

¦^´_ 4# GBKEE

¤£¦n·N«ä¡BGBKEE«e½ú¥i§_¦A½Ð«ü¾É¤@¤U¡A
¦pªG¨Ó·½data¸ê®Æ¦C¦ì¶W¹L¤ñ¹ïdata¦C¦ì¡B½Ð°Ý¥i±q­þÃä­×§ï_¥i¤ñ¹ï¨Ó·½data¨ì³Ì«á©O¡H

µù¡G¤p§Ì¦³±Nªþ¥ó¤º®e­×§ï¤@¤U(¤ñ¹ïdata¥u¨ì²Ä5¦C¡B¨Ó·½data¨ì²Ä5¦C¤§«á´NµLªk¶i¦æ¤ñ¹ï°Ê§@)
   
¥i§_½Ð³Â·Ð¤@¤U~
find »P¤ñ¹ïRange «á±NÄæ¦ìcopy¨ì¬YÄæ .rar (18.02 KB)

TOP

¥»©«³Ì«á¥Ñ ii31sakura ©ó 2014-8-16 14:51 ½s¿è

¦^´_ 6# GBKEE

¤£¦n·N«ä¡BGBKEE«e½ú½Ð°Ý¤@¤U¦]¤p§Ì¨Ï¥Î½d¨Ò(ex1)¥i¥H¥¿½T§ä¨ì·Q­nªºµª®×(¤ñ¹ïdata³Ì«áA&B ¨â­ÓÀx¦s®æ¦b©ó¨Ó·½dataÄÝ©ó­þ­Órow)¡A
¦ý¦]¤p§Ì±N½d¨Ò¥Î©ódataµ§¼Æ¯}¸U®Éµo²{°õ¦æ¸û¤[¡A
¬G·Q½Ð°Ý¬O¤£¬O¦³¹³(ex2)ªºFind¤è¦¡¥i¥H´M§ä¥¿½Tªºµª®×row¦b¦ó³B©O©Î¬O½Ð°Ý(ex1)¥i«üÂI¦p¦ó­×§ï©O¡H¡H

µù¡G
¦]ex2¤¤¤p§Ì¨Ï¥Î Union±N¨Ó·½data»Ý¤ñ¸ûªº¨âÄæ©ñ¤@°_·Q¥ÎFind§ä¨â­Ó±ø¥ó¡A¦ý¹ê»Ú¤WÁÙ¬OµLªk¹ê²{§Ú·Q­nªºµª®×(¦pex1©Ò¯à¥¿½Tªº§ä¥X²Ä´X¦C)¡B
¯à¤£¯àÀµ½ÐÀ°¦£¤@¤U~
   
find »P¤ñ¹ïRange °ÝÃD1.zip (18.04 KB)

Sub ex2()
    Dim range1 As Range, range2 As Range, range3 As Range, range4 As Range
    Dim allrange As Range, allrange1 As Range, c As Integer

   
b = Worksheets("¤ñ¹ïdata").[b65536].End(3).Row
c = Worksheets("¨Ó·½data").[b65536].End(3).Row
   
Set range1 = Sheets("¨Ó·½data").Range("A" & 2 & ":" & "A" & c)
Set range2 = Sheets("¨Ó·½data").Range("b" & 2 & ":" & "b" & c)
Set allrange = Union(range1, range2)



          '¦¹°Ï¶ô¬°¥ý§ärow
         Set findvalue = allrange.Find(What:=Worksheets("¤ñ¹ïdata").Cells(b, 2))  '¡ö¦¹ºØ¥u¯à§ä´M³æ¤@Àx¦s®æ¡A½Ð°Ý¬O§_¯à¹ê²{¤U¤@¬q³Æµù±¡ªp¡A¥i¥H§ä¨â±ø¥ó©O¡H
'Set findvalue = allrange.Find(What:=Worksheets("¤ñ¹ïdata").Cells(b, 1) & Worksheets("¤ñ¹ïdata").Cells(b, 2)) '°ÝÃDÂI(¦³¤èªk¥i¥¿½T¨Ï¨â­ÓÀx¦s®æªº±ø¥ó³£¥i§ä¨ì¶Ü¡H¦¹¬q½Ð°Ý¯à§_«üÂI¤p§Ì¸Ó¦p¦ó­×§ï©O¡H)
          MsgBox findvalue.Row


    Set range1 = Nothing: Set range2 = Nothing: Set allrange = Nothing: Set findvalue = Nothing



End Sub

TOP

¦^´_ 8# GBKEE

«D±`·PÁÂGBKEE«e½ú~¯u¬O¦ò¤ß¨Óªº¡A«e½úÁÙÀ°¦£¨C¬q¥Îµù¸Ñ¡B¯u·PÁÂ~

TOP

¦^´_ 8# GBKEE

©êºp¡BGBKEE«e½ú¡K¯à§_¦A½Ð«ü¾ÉªþÀɤ¤¦pªG¤ñ¹ï±ø¥ó¯à§_±q¨â­Ó¤ñ¹ï±ø¥óÅܧ󬰤T­Ó¤ñ¹ï±ø¥ó©O¡H
¦]¤p§Ì¥t¤@­ÓÀÉ®×µo²{¨â­Ó¤ñ¹ï±ø¥ó¥i¯à·|¸I¨ì­«ÂЩʱ¡ªp¡B¦pªG¨Ï¥Î¤T­Ó¤ñ¹ï±ø¥ó´N¤£·|¦³­«Âб¡ªp¡A
¯à§_½Ð°Ý¥i©ó¦ó³B¶i¦æ­×§ï©O¡H
¤£¦n·N«ä¤F...


    find »P¤ñ¹ïRange °ÝÃD1.rar (18.02 KB)

Sub Ex3()
    Dim Rng(1 To 2) As Range, Rng2_Address As String
    Set Rng(1) = Worksheets("¤ñ¹ïdata").Range("A2")                    '¤ñ¹ïdataªº²Ä¤@µ§¸ê®Æ(¤é´Á)
    Do While Rng(1) <> ""                                              '°õ¦æ¨ì±ø¥ó¤£¦¨¥ß
        With Sheets("¨Ó·½data").Range("A:A")                           '½d³ò:³o¤u§@ªíªºAÄæ
            Set Rng(2) = .Find(Rng(1), AFTER:=.Cells(1), LookIn:=xlFormulas) '·j´M¤é´Á:­n¥Î¤½¦¡LookIn:=xlFormulas
            Do While Not Rng(2) Is Nothing                              '°õ¦æ¨ì±ø¥ó¤£¦¨¥ß
                If Rng2_Address = "" Then Rng2_Address = Rng(2).Address '°O¿ý²Ä¤@¦¸§ä¨ìªº¦ì¸m
                If Rng(1).Cells(1, 2) = Rng(2).Cells(1, 2) Then     '
'                    Rng(1).Cells(1, 3) = Rng(2).Cells(1, 3)             '¤ñ¹ïªº²Ä¤GÄæ=¨Ó·½dataªº²Ä¤GÄæ
                    
                    Rng(1).Cells(1, 4) = Rng(2).Row '¦¹¬q¬°§ä¸Ó¸ê®Æªºrow
                    
                    Exit Do
                End If
                Set Rng(2) = .FindNext(Rng(2))                          'Ä~Äò©¹¤U·j´M
                If Rng2_Address = Rng(2).Address Then                   '¦^¨ì²Ä¤@¦¸§ä¨ìªº¦ì¸m
                    Exit Do                                             'Â÷¶}°j°é
                End If
            Loop
            Rng2_Address = ""
            Set Rng(1) = Rng(1).Offset(1)                               '¤ñ¹ïdataªº¤U¤@µ§¸ê®Æ(¤é´Á)
        End With
    Loop
End Sub

TOP

¦^´_ 11# GBKEE

·PÁÂGBKEE«e½ú«ü¾É¨â­Ó¤èªk¡BÅý¤p§Ì¥i¥H¦³¦h¤@¼hªÅ¶¡ÅܤơA
¤£¦n·N«ä¦pªG¤p§Ì®M¥Îªº¨Ó·½ºÝÄݩ󤣦Pexcel¡B
¬G¨Ï¥Î¥H¤U¤è¦¡¶i¦æ³]©w¡B¦ý¦ü¥Gº|¤F­þ­ÓÀô¸`¦Ó¾É­PµLªk°õ¦æ¡A
¦]¹Á¸Õ³\¤[µLªk¥¿¸Ñ¡B½Ð°Ý¯à¤£¯à¦A½ÐÀ°¦£¬Ý¤@¤U©O¡H

find »P¤ñ¹ïRange °ÝÃD1.zip (25.65 KB)

µ{¦¡½X¡G
Sub Ex3()
    Dim Rng(1 To 2) As Range, Rng2_Address As String
     Dim wb(1 To 2) As Workbook
    Dim myApp As New Application
   
   
     Set wb(1) = ThisWorkbook '¨Ï¥Î©ósheet(¤ñ¹ïdata)
    Set wb(2) = myApp.Workbooks.Open(Worksheets("¸ô®|°Ï").Cells(2, 3) & "\" & Worksheets("¸ô®|°Ï").Cells(2, 2))  '¨Ï¥Î©ó¥t¤@­Óexcel sheet(¨Ó·½data)
   
    Set Rng(1) = wb(1).Worksheets("¤ñ¹ïdata").Range("A2")                    '¤ñ¹ïdataªº²Ä¤@µ§¸ê®Æ(¤é´Á)
    Do While Rng(1) <> ""                                              '°õ¦æ¨ì±ø¥ó¤£¦¨¥ß
        With wb(2).Sheets("¨Ó·½data").Range("A:A")                           '½d³ò:³o¤u§@ªíªºAÄæ
            Set Rng(2) = .Find(Rng(1), AFTER:=.Cells(1), LookIn:=xlFormulas) '·j´M¤é´Á:­n¥Î¤½¦¡LookIn:=xlFormulas
            Do While Not Rng(2) Is Nothing                              '°õ¦æ¨ì±ø¥ó¤£¦¨¥ß
                If Rng2_Address = "" Then Rng2_Address = Rng(2).Address '°O¿ý²Ä¤@¦¸§ä¨ìªº¦ì¸m
                If Rng(1).Cells(1, 2) = Rng(2).Cells(1, 2) Then     '
'                    Rng(1).Cells(1, 3) = Rng(2).Cells(1, 3)             '¤ñ¹ïªº²Ä¤GÄæ=¨Ó·½dataªº²Ä¤GÄæ
                    
                    Rng(1).Cells(1, 3) = Rng(2).Row '¦¹¬q¬°§ä¸Ó¸ê®Æªºrow
                    
                    Exit Do
                End If
                Set Rng(2) = .FindNext(Rng(2))                          'Ä~Äò©¹¤U·j´M
                If Rng2_Address = Rng(2).Address Then                   '¦^¨ì²Ä¤@¦¸§ä¨ìªº¦ì¸m
                    Exit Do                                             'Â÷¶}°j°é
                End If
            Loop
            Rng2_Address = ""
            Set Rng(1) = Rng(1).Offset(1)                               '¤ñ¹ïdataªº¤U¤@µ§¸ê®Æ(¤é´Á)
        End With
    Loop
   
   
       wb(2).Close False
        
        
        Set wb(1) = Nothing
        Set wb(2) = Nothing
        Set Rng(1) = Nothing: Set Rng(2) = Nothing
'        Set findvalue = Nothing
End Sub

TOP

¦^´_ 13# GBKEE


    ·PÁÂGBKEE«e½ú«ü¾É¡B¦]¬°¤p§Ìªº¸ê®Æ¨Ó·½¤j¦h¬°°Ïºô¤Wªº¦@¥Îexcel data¡A
    ·|¨Ï¥Î¨Ò¤l1¦]¾á¤ß¥i¯à¨Ó·½data¤w¥ý³Q¨ä¥¦¤H¶}±Ò·|¦³¶}±Òĵ§i°ÝÃD¡A
    ¸g«e½ú´£¿ô«á¡B¤p§Ì¹ê»Ú¥h´ú¸Õ¨Ï¥Î¨Ò¤l2¡B§Y¨Ï¦³¤H¶}°_¨Ó·½data¤]¦ü¥G¤£¼vÅTµ{¦¡ªº¹B¦æ¡A
    ¦b¦¹ÁÂÁ«e½úªº«ü¾ÉÅo~

¨Ò¤l1¡G' Dim myApp As New Application  '¬°¦ó­n·s¶} Excel
¨Ò¤l2¡GSet wb(2) = Workbooks.Open

TOP

¦^´_ 13# GBKEE

¤£¦n·N«ä GBKEE«e½ú¡A¦]¤p§Ì¤u§@Ãö«Y»Ý®M¥Î©ó§O³B¡B½Ð°Ý¦pªG¨Ó·½¸ê®Æwb(2)¶}°_®É¥X²{¦p¤U¹Ïªº( µLªk§ó·sªº³sµ²)¡A
½Ð°Ý¸Ó¦p¦ó±N¨Ó·½¸ê®Æªº¦Û°Ê§ó·sÃö³¬©O¡H

µù¡G¤p§Ìª¦¤å¹Á¸Õ¨Ï¥Î»y¥y2¨ÓÃö³¬¨Ó·½¸ê®ÆÄµ§i¡B¦ý¥i¯à¥d¦b»y¥y1¤w¸g¥ý¶}±Ò¡A©Ò¥HÁ`¬O¥X²{¿ù»~±¡ªp¡C

»y¥y1¡G Set wb(2) = Workbooks.Open(Worksheets("¸ô®|°Ï").Cells(2, 3) & "\" & Worksheets("¸ô®|°Ï").Cells(2, 2))  '¨Ï¥Î©ó¥t¤@­Óexcel sheet(¨Ó·½data)
»y¥y2¡GWorkbooks.Open Filename:="D:\¶g§O¸ê®Æ\wk1432\find ¤ñ¹ï°ÝÃD\find »P¤ñ¹ïRange °ÝÃD3 - ¨Ó·½data.xlsm" ,UpdateLinks:=0

TOP

¦^´_ 13# GBKEE

GBKEE«e½ú~¤£¦n·N«ä¡K«á¨Ó¤p§Ì¹Á¸Õ¦b¶}±ÒÀɮ׫e¥[¤W"Application.DisplayAlerts = False 'Ãö³¬©Ò¦³EXCELµ{§Ç¨t²Î´£¥Ü"¤§«á´N¥i¥H¥¿±`­È¦æ¤F¡A
¯u¬O¤£¦n·N«ä³o»ò³Â·Ð±z¡C
   

·PÁ«e½ú«e´X¬qªº«ü¾É~

TOP

        ÀR«ä¦Û¦b : ¤Hªº²´·úªø¦b«e­±¡A¥u¬Ý¨ì§O¤Hªº¯ÊÂI¡Aµ·²@¬Ý¤£¨ì¦Û¤vªº¯ÊÂI¡C
ªð¦^¦Cªí ¤W¤@¥DÃD