使用单元格值在另一个工作簿中查找单元格并复制粘贴数据

时间:2014-07-09 16:16:18

标签: excel vba excel-vba

我正在尝试从当前工作簿中启用另一个工作簿的更新。我想要做的是获取一个数据集并更新另一个工作簿中的特定数据行,我从中获取RowID(从我在其中的表中)

此代码显示了到目前为止我所拥有的内容,但是在运行时,它没有找到要放入搜索字段的值,然后没有更新任何内容。

如何使用特定的单元格值(LkupRange)并在Cells.Find中使用它,然后复制粘贴一行数据进行更新?

Sub UpdateInvoice()
Dim LkupRange As String
Application.ScreenUpdating = False
LkupRange = Sheets("CustomerInvoice").Range("P4").Value
ActiveSheet.Unprotect
Sheets("CustomerInvoice").Select
Range("P4").Select
Selection.Copy
ChDir "Y:\INVOICES"
Workbooks.Open Filename:= _
    "Y:\SALES INVOICES\SALES INVOICE REGISTER.xlsx"
Range("C3").Select
Debug.Print LkupRange
Cells.Find(What:=LkupRange, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
ActiveWindow.ActivateNext
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ActivateNext
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Range("A1").Select
Application.CutCopyMode = False
Range("A1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

1 个答案:

答案 0 :(得分:0)

我多次运行你的代码并且它有效。如果要使用find,请确保源表与目标匹配。