Excel скрытые имена что это

Ребята, я только что тоже потестировал.  
Выяснил, что скрытые имена, оканчивающиеся на !_FilterDatabase , удалять нельзя — перестают работать установленные автофильтры.  
А не скрытое имя области печати — Print_Area — тоже удалять не стоит, наверное.  
Поэтому я слепил такой макрос:  

  Sub EraseNames()   ‘ очистка списка имен диапазонов  
  Dim nM As Name  
  For Each nM In ActiveWorkbook.Names  
     If Not nM.Visible Then  
        If Not nM.Name Like «*!_FilterDatabase» Then nM.Delete ‘ удалить все скрытые имена диапазонов кроме фильтров  
     Else  
        If Not nM.Name Like «*!Print_Area» Then  
           Select Case MsgBox(«Удалить имя диапазона:» & vbCrLf & vbCrLf _  
                              & nM.Name & nM.RefersTo, vbYesNoCancel + vbQuestion)  
              Case vbYes: nM.Delete  
              Case vbCancel: Exit Sub  
           End Select  
        End If  
     End If  
  Next nM  
End Sub

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше

Инспектор документов обнаружил в книге скрытые имена. Под этими именами может храниться скрытая информация о сценариях надстройки «Поиск решения». Например, если вы используете надстройку «Поиск решения» для выполнения сценария, в ней может храниться информация о параметрах расчета и других конфиденциальных данных, например скрытые имена в книге.

Важно: Корпорация Майкрософт предоставляет примеры программирования только для иллюстрации без гарантии, выраженной или подразумеваемой. Это относится и не только к подразумеваемой гарантии пригодности и пригодности для определенной цели. В этой статье предполагается, что вы знакомы с языком программирования, который демонстрируется, и средствами, используемыми для создания и от debug procedures. Специалисты службы поддержки Майкрософт могут объяснить функциональные возможности конкретной процедуры, но не будут изменять эти примеры, чтобы предоставить дополнительные функции или процедуры по построению с учетом ваших конкретных требований.

Проблема

Инспектор документов не может удалить эти имена.

Рекомендуемое решение

Чтобы удалить скрытые имена, запустите следующий макрос: В макросе отображается окно сообщения с тремя элементами: (1), видимым или скрытым, (2) определенным и (3) ссылкой на это имя (ссылка на ячейку книги). Чтобы удалить или сохранить каждое определенное имя, выберите вариант Да или Нет.

Примечание: После удаления скрытых имен с помощью этого макроса надстройки (например, «Поиск решения») и макросы могут работать неправильно, и связанные с ними скрытые данные могут быть потеряны. Этот макрос действует на все имена, которые определяются как скрытые, а не только на те, которые были добавлены надстройкой «Поиск решения».

Внимание: Если имена листов содержат пробелы, при попытке удалить определенное имя может появиться сообщение об ошибке.

Удаление скрытых имен

' Module to remove all hidden names on active workbook
   Sub Remove_Hidden_Names()

       ' Dimension variables.
       Dim xName As Variant
       Dim Result As Variant
       Dim Vis As Variant

       ' Loop once for each name in the workbook.
       For Each xName In ActiveWorkbook.Names

           'If a name is not visible (it is hidden)...
           If xName.Visible = True Then
               Vis = "Visible"
           Else
               Vis = "Hidden"
           End If

           ' ...ask whether or not to delete the name.
           Result = MsgBox(prompt:="Delete " & Vis & " Name " & _
               Chr(10) & xName.Name & "?" & Chr(10) & _
               "Which refers to: " & Chr(10) & xName.RefersTo, _
               Buttons:=vbYesNo)

           ' If the result is true, then delete the name.
           If Result = vbYes Then xName.Delete

           ' Loop to the next name.
       Next xName

   End Sub

Нужна дополнительная помощь?

Привет. Рад представить вам подробные инструкции по удалению скрытых имен в Excel. Возможно, вы столкнулись с ситуацией, когда при копировании листа в книгу Excel произошла ошибка, в которой говорилось, что имя уже существует и вам нужно выбрать новое или использовать его. Хорошо, если таких ошибок будет 2-3, а если их несколько сотен или тысяч, терпения не хватит, чтобы нажать ОК. Воспользовавшись приведенным ниже советом, вы навсегда избавитесь от ошибки! Итак, приступим:

1. Создание макроса удаления скрытых имен.

Я не нашел в Excel встроенной функции для решения этой проблемы, но есть замечательный макрос, с помощью которого мы избавимся от нее. Сначала вам нужно перейти в редактор макросов, для этого запустить Excel, открыть файл с проблемой и нажать ALT + F11. Откроется Microsoft Visual Basic для приложений, поэтому перейдите в меню «Вставка» и выберите «Модуль.

Как удалить скрытые имена в Excel

Откроется окно модуля. Вы должны поместить туда следующий код макроса:

Sub Удалить скрытые имена()
Dim n As Name
Dim Считается целым числом
В случае ошибки Продолжить Далее
Для каждого n в ActiveWorkbook.Names
Если не видно, то
n. Удалить
Счетчик = Счетчик + 1
Конец, если
Следующий n
MsgBox «Количество скрытых имен» & Количество & «Удалено»
Конец подзаголовка

Следовательно, это должно выглядеть так:

Как удалить скрытые имена в Excel

Хороший. Мы создали макрос, теперь осталось его применить.

2. Использование макроса для удаления скрытых имен в Excel.

Вернитесь в нашу книгу Excel, перейдите в меню «Просмотр», выберите там блок макросов и щелкните внутри него меню «Макросы.

Как удалить скрытые имена в Excel

В открывшемся меню выберите макрос «Удалить скрытые имена» и нажмите кнопку «Выполнить.

Как удалить скрытые имена в Excel

Макрос будет работать некоторое время (чем больше скрытых имен у вас в файле, тем дольше он будет работать) и отобразит сообщение о том, сколько имен было удалено. Поздравляю, вы избавились от проблемы и можете спокойно копировать листы.

Здравствуйте. Рад представить Вам пошаговую инструкцию по удалению скрытых имен в Экселе. Вы возможно сталкивались с ситуацией, когда при копировании листа в книге Excel возникала ошибка, которая сообщает что Имя уже существует и нужно либо выбрать новое, либо использовать тоже. Хорошо если таких ошибок 2 — 3, а если их несколько сотен или тысяч, тогда никакого терпения не хватит нажимать ОК. Используя рекомендации, представленные ниже, Вы избавитесь от ошибки навсегда! Итак, приступим:

1. Создание макроса DeleteHiddenNames.

Встроенной функции в Excel для решения этой проблемы я не нашел, зато есть замечательный макрос, с помощью которого мы от нее избавимся. Сначало надо зайти в редактор макросов, для этого запустите Excel, откройте файл с проблемой и нажмите ALT+F11. Откроется Microsoft Visual Basic for Applications, далее заходим в меню Insert и выбираем Module.

Как удалить скрытые имена в Excel

Открывается окно модуля. Туда Вы должны вставить следующий код макроса:

Sub DeleteHiddenNames()
Dim n As Name
Dim Count As Integer
On Error Resume Next
For Each n In ActiveWorkbook.Names
    If Not n.Visible Then
    n.Delete
    Count = Count + 1
    End If
Next n
MsgBox «Скрытые имена в количестве » & Count & » удалены»
End Sub

Выглядеть это должно в результате следующим образом:

Как удалить скрытые имена в Excel

Отлично. Макрос мы создали, теперь нам осталось его применить.

2. Использования макроса для удаления скрытых имен в Excel.

Переключаемся назад на нашу Эксель книгу, переходим в меню Вид, там выбираем блок Макросы и в нем нажимаем на меню Макросы.

Как удалить скрытые имена в Excel

 В открывшемся меню выбираем макрос DeleteHiddenNames и нажимаем кнопку выполнить.

Как удалить скрытые имена в Excel

Макрос отработает некоторое время (чем больше скрытых имен у Вас в файле, тем дольше он будет работать) и выдаст сообщение о том, сколько имен было удалено. Поздравляю Вы избавились от проблемы и можете смело копировать листы.

Как удалить скрытые имена в Excel

Я надеюсь что эта инструкция Вам помогла, заходите на сайт почаще — здесь много еще чего полезного для Эксель найдете. Есть вопросы — смело пишите их в комментариях к статье.

Это не баг, а фича.
Известная поговорка

В процессе работы над моделью в Excel возникла загадочная неисправимая ошибка. Т.к. модель состоит из нескольких книг, необходимо включать обновление связей между книгами модели. При попытке включить обновление связей:


Заходим в редактор связей и видим причину ошибки:

Последняя связь в работе модели не участвует, но разорвать ее не удается. Excel ничего дополнительно не сообщает. Источник не найден, и все. Т.е. можно догадаться, что он есть, раз связь не разрывается…
Пытаюсь искать ссылку на книгу в формулах:

В Диспетчере имен пусто:

Не удается найти источник ошибочной ссылки…
Распаковываю книгу и копаюсь в xml файлах:

Наводит на размышления… Изучаю атрибуты класса Names во встроенном языке программирования, пишу такую микро процедуру:

После выполнения процедуры вижу приличный список имен в Диспетчере:

Удивляюсь, но не очень сильно =)
Удаляю имена и разрываю связь. Ошибка исчезает.

Возможно ли не пользуясь процедурой на VBA изменить статус скрытых имен? Я не нашел другого способа (Excel 2007).

Понравилась статья? Поделить с друзьями:
  • Excel скрыта строка или нет vba
  • Excel скрылась панель инструментов
  • Excel скрыл все строки
  • Excel скрывать строку при нулевых значениях
  • Excel скрывать строку по условию