因此,我尝试从不同的工作表复制数据并粘贴到当前工作表上,但出现了以下错误:
“应用程序定义或对象定义”错误‘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
对 的引用Cells
与对 的调用不在同一工作表中Range
。这在 的文档中有所提及Range.Item
。如果是活动工作表,它将起作用Database
,否则不起作用。
尝试用以下代码替换错误行
With Sheets("Database")
.Range(.Cells(i, 11), .Cells(i, 24)).Copy
End With
注意 之前的句号Cells
。