[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]