Поэтому я пытался скопировать данные с другого листа и вставить в текущий, и я получаю эту ошибку:

Ошибка приложения или объекта "Ошибка 1004"

Может кто-то помочь мне с этим ?

Option Explicit
Sub finddata()

Dim fname As String
Dim FinalRow As Long
Dim i As Integer


Sheets("Report").Range("A10:N200").ClearContents
fname = Sheets("Report").Range("A4").Value
FinalRow = Sheets("Database").Range("A1000").End(xlUp).Row

For i = 3 To FinalRow
    If Sheets("Database").Cells(i, 1) = fname Then
    Sheets("Database").Range(Cells(i, 11), Cells(i, 24)).Copy  ----> Getting "Application Defined or Object Defined" error '1004" on this line
    Sheets("Report").Range("A1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i

End Sub

1 ответ1

2

Ссылка на Cells находится не на том же листе, что и вызов Range . Это упоминается в документах для Range.Item Это будет работать, если Database является активным листом, но не иначе.

Попробуйте заменить строку ошибки на

With Sheets("Database")
    .Range(.Cells(i, 11), .Cells(i, 24)).Copy 
End With

Обратите внимание на периоды перед Cells .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .