Я новичок в VBA, поэтому, пожалуйста, простите меня. У меня возникла проблема с фрагментом кода для поиска в листе базы данных «База данных 4c.CustomerP» на основе критериев в ячейке C14 в листе «1b.SearchClient» и скопируйте соответствующие записи в лист «1b.Search Client». Однако, когда я пытаюсь выполнить код, я получаю сообщение об ошибке:VBA: Поиск базы данных и копирование строк на другой лист
Run-time errow '1004': Method 'Range' of object '_Worksheet' failed
отладки линия приносит мне purchases.Range (Cells (я, 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
Попробуйте скорее 'Range (purchases.Cells (I, 1) , purchase.Cells (i, 10)). Copy' – xificurC
Или, наоборот, добавьте 'покупки. Активируйте' над линией копирования. Также есть опечатка в End (x1Up) – gipadm
Спасибо, что я получил его на работу! Cheers –