- ©«¤l
- 43
- ¥DÃD
- 13
- ºëµØ
- 0
- ¿n¤À
- 75
- ÂI¦W
- 0
- §@·~¨t²Î
- windows 7
- ³nÅ骩¥»
- office 2007
- ¾\ŪÅv
- 20
- µù¥U®É¶¡
- 2014-5-6
- ³Ì«áµn¿ý
- 2019-6-17
|
¦^´_ 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 |
|