[英]Loop to search data in workbook1, copy offset cell to workbook2
I need a loop to copy cells offset from a found value in SOURCE, (based on range in DESTINATION) to DESTINATION.我需要一个循环来复制从 SOURCE 中找到的值偏移的单元格(基于 DESTINATION 中的范围)到 DESTINATION。
In this case I want to copy value from SOURCE ("K10") to DESTINATION ("G5"), after value ("E10") found in SOURCE based on value ("H5") in DESTINATION.在这种情况下,我想根据 DESTINATION 中的值 ("H5") 在 SOURCE 中找到值 ("E10") 后,将值从 SOURCE ("K10") 复制到 DESTINATION ("G5")。
I need to search for all values in DESTINATION ("H:H").我需要搜索 DESTINATION ("H:H") 中的所有值。
Book_source.xlsx Book_source.xlsx
Book_destination.xlsx Book_destination.xlsx
My recorded code:我记录的代码:
Windows("Book_destination.xlsx").Activate
Dim rng As Variant
rng = Range("H5").Value
rng.Select
Selection.Copy
Application.WindowState = xlNormal
Windows("Book_source.xlsx").Activate
Cells.Find(What:=rng, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 6).Select
Application.CutCopyMode = False
Selection.Copy
Windows("Book_destination.xlsx").Activate
Range("G5").Select
ActiveSheet.Paste
I created this code and is working for me.我创建了这段代码并为我工作。 For anyone interested对于任何有兴趣的人
Thanks all of you.感谢大家。 :) Enjoy, it's free! :) 享受吧,它是免费的!
I'm glad to share this.我很高兴分享这个。
Sub part_of_code()
Dim i As Integer
i = 2
'calling LastRow
Call LastRecord(LastRow)
For i = i To LastRow
On Error Resume Next
'Application.WindowState = xlNormal
Range("H" & i).Select
Selection.Copy
Dim rng As Variant
rng = Range("H" & i)
Workbooks("Book2.xlsx").Worksheets("Sheet1").Activate
Cells.Find(What:=rng, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 6).Select
Application.CutCopyMode = False
Selection.Copy
Workbooks("Book1.xls").Worksheets("Sheet2").Activate
Range("H" & i).Offset(0, -1).Select
ActiveSheet.Paste
Next i
End Sub
Private Sub LastRecord(LastRow)
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.