Как удалить именованный диапазон с помощью 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: скопировать строки на другой лист на основе критериев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *