Ошибка: «Нет ячеек». Использование if для выхода из sub, если true, но ошибка продолжает появляться - PullRequest
0 голосов
/ 11 января 2019

Код ниже является частью большого кода, где некоторые данные фильтруются с помощью автофильтра. И в большинстве случаев есть данные в отфильтрованных ячейках. Однако в некоторых случаях нет данных, и при попытке использовать копию я получаю сообщение об ошибке «Нет ячеек». Что имеет смысл.

Поэтому я пытаюсь использовать приведенный ниже код для выхода из подпрограммы, если в отфильтрованных ячейках нет данных. Но ошибка «Нет ячеек» продолжает появляться в первой строке кода.

Я проверил диапазон, и он заполнен правильно.

Я пробовал .Cells.Count и просто .Count. Ничего не работает.

Может ли кто-нибудь мне помочь?

If .Range("C5:C" & lastrow).SpecialCells(xlCellTypeVisible).Cells.Count = 0 Then
    .AutoFilterMode = False
    Exit Sub
End If

1 Ответ

0 голосов
/ 11 января 2019

Всякий раз, когда вы работаете с SpecialCells, вставьте их между OERN и OEGTO, как показано ниже

Это то, что вы пытаетесь? ( Непроверенные )

On Error Resume Next
Set rng = .Range("C5:C" & lastrow).SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If rng Is Nothing Then
    .AutoFilterMode = False
    Exit Sub
End If
...