Обратите внимание (как продолжение этого вопроса ), что вы все еще объединяете формулы и VBA. =IFERROR()
- это синтаксис формулы, а не VBA.
Тем не менее, возможно, попробуйте следующее. Он будет копировать только видимые строки из тела таблицы после фильтрации, если действительно есть какие-либо видимые строки.
Dim table As ListObject
Set table = Worksheets("Overview").ListObjects("Table1")
table.Range.AutoFilter Field:=13, Criteria1:=TeamRole
table.Range.AutoFilter Field:=8, Criteria1:="<" & MaxDate
On Error Resume Next
Dim rngToCopy As Range
Set rngToCopy = table.DataBodyRange.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rngToCopy Is Nothing Then
rngToCopy.Copy Destination:= Sheets("Assembly Engineer").Range("A2")
End If
table.Range.AutoFilter