Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос "EraseNames" - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Макрос "EraseNames" (Очистка списка имен диапазонов)
Макрос "EraseNames"
Alex_ST Дата: Понедельник, 30.08.2010, 13:40 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
[vba]
Код
Sub EraseNames()   ' очистка списка имен диапазонов
     Dim nmName As Name
     For Each nmName In ActiveWorkbook.Names
        With nmName
           If Not CStr(.Name) Like "*!_FilterDatabase" Then   '  имена, заканчивающиеся на "!_FilterDatabase" _
                     удалять нельзя, т.к. перестанет работать автофильтр
              Select Case MsgBox("Удалить имя " & vbCrLf & vbCrLf _
                     & .Name & vbCrLf & vbCrLf _
                     & "относящееся к диапазону " & vbCrLf & vbCrLf _
                     & Mid(.RefersTo, 2), vbYesNoCancel + vbQuestion)   ' убрать лидирующий знак "=" в .RefersTo
                 Case vbYes
                    .Delete
                 Case vbCancel
                    Exit Sub
              End Select
           End If
        End With
     Next
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение[vba]
Код
Sub EraseNames()   ' очистка списка имен диапазонов
     Dim nmName As Name
     For Each nmName In ActiveWorkbook.Names
        With nmName
           If Not CStr(.Name) Like "*!_FilterDatabase" Then   '  имена, заканчивающиеся на "!_FilterDatabase" _
                     удалять нельзя, т.к. перестанет работать автофильтр
              Select Case MsgBox("Удалить имя " & vbCrLf & vbCrLf _
                     & .Name & vbCrLf & vbCrLf _
                     & "относящееся к диапазону " & vbCrLf & vbCrLf _
                     & Mid(.RefersTo, 2), vbYesNoCancel + vbQuestion)   ' убрать лидирующий знак "=" в .RefersTo
                 Case vbYes
                    .Delete
                 Case vbCancel
                    Exit Sub
              End Select
           End If
        End With
     Next
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 30.08.2010 в 13:40
Serge_007 Дата: Понедельник, 06.09.2010, 10:57 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Начиная с версии Excel 2007, удалить все имена можно выделив их все или только необходимые в диспетчере имён (Ctrl+F3 или Вкладка Формулы - Диспетчер имён)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНачиная с версии Excel 2007, удалить все имена можно выделив их все или только необходимые в диспетчере имён (Ctrl+F3 или Вкладка Формулы - Диспетчер имён)

Автор - Serge_007
Дата добавления - 06.09.2010 в 10:57
Мир MS Excel » Вопросы и решения » Готовые решения » Макрос "EraseNames" (Очистка списка имен диапазонов)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!