VBA:search数据库并将行复制到另一个工作表

我是VBA的新手,请原谅我。 我无法根据单元格C14在表“1b.SearchClient”中的条件search数据库表“4c.CustomerP Database”,并将这些匹配条目复制到表“1b.Search Client”中。 但是,当我尝试执行代码时,我收到一个错误:

运行时错误'1004':对象'_Worksheet'的方法'范围'失败

debugging线带我到purchases.Range(Cells(i,1),Cells(i,10))

希望一个善良的灵魂可以帮助我在这里!

Sub findrecord() Dim custid As String Dim finalrow As Integer Dim i As Integer Dim targetWorkbook As Workbook Dim activeWs As Worksheet Dim purchases As Worksheet Set targetWorkbook = Application.ActiveWorkbook Set activeWs = targetWorkbook.Sheets("1b.SearchClient") Set purchases = targetWorkbook.Sheets("4c.CustomerP Database") activeWs.Range("A26:J200").ClearContents custid = activeWs.Range("C14").Value For i = 7 To 10000 If purchases.Cells(i, 1) = custid Then purchases.Range(Cells(i, 1), Cells(i, 10)).Copy activeWs.Range("A1000").End(x1Up).Offset(1, 0).PasteSpecial x1PasteFormulasAndNumberFormats End If Next i End Sub 

范围内的单元格也需要参考采购:

 purchases.Range(purchases.Cells(i, 1), purchases.Cells(i, 10)).Copy 

或使用With:

 With purchases If .Cells(I, 1) = custid Then .Range(.Cells(I, 1), .Cells(I, 10)).Copy activeWs.Range("A1000").End(x1Up).Offset(1, 0).PasteSpecial x1PasteFormulasAndNumberFormats End If End With