Значения ошибок не являются текстовыми. Сравнение их с text с чем-либо отличным от Variant/Error
приведет к ошибке несоответствия типов.
Используйте IsError(Cells(...).Value)
для обработки ячеек с ошибками. Вы также можете использовать WorksheetFunction.IsNA
.
. В этом текущем случае вы также можете использовать Range.SpecialCells(xlCellTypeFormulas, xlErrors)
вместо цикла.
Sub Test()
Dim rng As Range
On Error Resume Next
Set rng = Columns("H").SpecialCells(xlCellTypeFormulas, xlErrors)
On Error GoTo 0
If Not rng Is Nothing Then
rng.Value = ""
End If
End Sub
Примечание. Рекомендуется указыватьРабочая тетрадь и рабочий лист для любых вызовов Range
, Rows
или Columns
(среди прочих).