Не ответ, но немного разбейте его, чтобы посмотреть, можно ли отладить:
Dim rng As range
With targetSheet.Range(targetRangeName)
.AutoFilter Field:=17, Criteria1:="<>" & sourceCell.Value, _
Operator:=xlFilterValues
Set rng = .Offset(1, 0)
Debug.Print rng.Address
Set rng = rng.SpecialCells(xlCellTypeVisible)
Debug.Print rng.Rows.Count
rng.EntireRow.Delete
End With
РЕДАКТИРОВАТЬ : вы не можете сместить диапазон на одну строку, если он уже достигает последней строки на листе. Если все, что вы действительно хотите сделать, это исключить строку заголовка, то вы можете сделать что-то вроде этого:
Dim rng
Set rng = ActiveSheet.Columns(1)
Debug.Print rng.Address '>> $A:$A
'resize and offset to exclude the first row
Set rng = rng.Resize(rng.Rows.Count - 1, rng.Columns.Count).Offset(1, 0)
Debug.Print rng.Address '>> $A$2:$A$1048576