Как удалить именованный диапазон с помощью vba (с примером)
Вы можете использовать следующий синтаксис в VBA для удаления именованных диапазонов из книги Excel:
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
В следующем примере показано, как использовать этот синтаксис на практике.
Пример. Удаление именованных диапазонов в книге Excel с помощью VBA
Предположим, у нас есть книга Excel, содержащая следующие три именованных диапазона:
- Именованный диапазон под названием «sheet1_name» в «Sheet1».
- Именованный диапазон под названием имя_листа2 в Лист2.
- Именованный диапазон под названием «sheet3_name» в Sheet3.
Чтобы просмотреть каждый из этих именованных диапазонов, просто щелкните стрелку раскрывающегося списка в поле «Имя» в левом верхнем углу листа:
Допустим, мы хотим удалить каждый из этих именованных диапазонов.
Для этого мы можем создать следующий макрос:
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
После выполнения этого макроса все именованные диапазоны во всей книге будут удалены.
Мы можем убедиться, что они были удалены, еще раз щелкнув поле «Имя» в левом верхнем углу одного из листов:
Мы видим, что поле «Имя» больше не содержит имена именованных диапазонов.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: Как вставить только значения без форматирования
VBA: как скопировать видимые строки на другой лист
VBA: скопировать строки на другой лист на основе критериев