Удалите для данного листа данной рабочей книги все именованные диапазоны из этого листа на основе условия их имени - PullRequest
1 голос
/ 08 ноября 2019

Я хотел бы удалить все ранжированные имена из рабочей таблицы (в моей рабочей книге), основывая критерий на их именах.

Если найден этот код:

Dim wkSettings As Worksheet
Set wkSettings = ThisWorkbook.Sheets("TheSheetToTarget")

For Each nm In wkSettings.Names
    If nm.RefersToRange.Parent.Name = wkSettings.Name Then
    'Do stuff
    End If
Next nm

, но не может быть успешнымв его адаптации, так как условие if кажется всегда действительным.

1 Ответ

0 голосов
/ 08 ноября 2019

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

Sub TestMe()

    Dim nm As name        
    For Each nm In ThisWorkbook.Names
        Debug.Print nm
        Debug.Print nm.RefersTo
        Debug.Print nm.name
    Next nm

End Sub

Если поставить остановку и нажать F9 поверхnm, будет введено " окно просмотра ", и там можно будет изучить свойства nm:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...