Ошибка времени выполнения '424': Требуется объект, проверяющий, является ли динамический именованный диапазон пустым - PullRequest
0 голосов
/ 06 декабря 2018

Я использовал решение по этому вопросу Динамические именованные диапазоны Excel VBA: Как проверить, является ли диапазон пустым , но он не работает для меня, у меня есть Run-time error'424': Ojbect required в строке Set rng = [volTarget].

Вот код, я изменил имя в [], и он работает с непустым динамическим именованным диапазоном.

Sub Sample()
    Dim rng As range
    Set rng = [volTarget]
    If Application.WorksheetFunction.CountA(rng) = 0 Then _
    MsgBox "Range is blank"
End Sub

1 Ответ

0 голосов
/ 06 декабря 2018

Если диапазон с именем volTarget отсутствует, VBA выдает ошибку #NAME, когда вы пытаетесь оценить его следующим образом [volTarget].


В вашем коде вам нужно обрабатывать сценарий, когда именованный диапазон отсутствует.


Один из возможных подходов может быть:

 Sub Sample()
   Dim rng As Range

   If Not IsError([volTarget]) Then
        Set rng = [volTarget]
        If Application.WorksheetFunction.CountA(rng) = 0 Then '=> This is redundant.
            MsgBox "Range is blank"
        End If
    Else
        MsgBox "No such range" '==> This is practically your black range as you are using dynamic named range.
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...