我有一个复制表的指定单元格的过程,这些单元格在3个循环中标识。有时不会有任何数据,这不是问题,
但是我得到Run-time error '1004': No cells were found.
会阻止代码进入下一个循环
我曾尝试On Error Resume Next
,但我不会从代码中得到我的回复。也许还有更多的错误,我因为Resume Next
而无法看到它们。
这是我的代码:
If Sheets("hour report").Range("U1") = 1 Then
For i = 1 To k3
For n = 1 To k1
Sheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1, _
Criteria1:=Sheets("hour report").Range("B" & i + 1)
Sheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=2, _
Criteria1:=Sheets("hour report").Cells(1, n + 2)
On Error Resume Next
Range("Table1[f1]").SpecialCells(xlCellTypeVisible).Copy
Sheets("hour report").Activate
Cells(i + 1, n + 2).Select
ActiveSheet.Paste
Next n
Next i
End If
答案 0 :(得分:0)
你几乎与On Error Resume Next
在一起。这将阻止错误发生,但正如你所说,它会进一步下降。
如果您从SpecialCells
行删除错误检查,请将其恢复,然后检查SpecialCells
是否返回了任何内容:
Sub Test()
Dim rFiltered As Range
On Error Resume Next
Set rFiltered = Range("Table1[F1]").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rFiltered Is Nothing Then
rFiltered.Copy
'Rest of code for when a range is returned.
End If
End Sub