Показать скрытые имена excel

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

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

Как в файле найти и удалить имена диапазонов, ячеек?

Автор marina, 04.07.2016, 15:58

« назад — далее »

Уважаемые специалисты!

Очень прошу помощи.
У меня есть файл, когда я выполняю «скопировать лист (создать копию)», вылетает сообщение, что «имя уже используется».
Я не создавала имен. Найти эти имена не получается. Пыталась через CNTR+F3, через диспетчер имен — там пусто.
Как найти эти странные имена? Как от них избавиться?
Перед этим я пыталась найти решение в интернете, что если в заголовке есть январь, февраль, и прочие зимние месяцы — надо брать зимний коэффициент расхода топлива. Ничего не получилось, я от затеи отказалась — просто тупо каждый месяц свою формулу использую.
Может я что из интернета прицепила? Не понимаю.


Здравствуйте

Отобразить скрытые имена можно макросом:

Sub ShowNames()
    Dim nm As Name
    For Each nm In ThisWorkbook.Names
        nm.Visible = True
    Next
End Sub

после чего их можно будет увидеть в диспетчере имен (Ctrl+F3). Остается выделить их все и удалить

Во вложении файл с удаленными именами


 Serge 007, спасибо большое.
Сделала.  Вы спасли мои файлы.


Всем доброго дня!

Может я зря в этой же теме пишу, надо создать новую.?
Но у меня вопрос в продолжение.
Почему-то почти все файлы, которые я открываю, имеют сейчас скрытые имена. С чет это может быть связано?

Руководством была поставлена задача создать файлы для 17-ти подразделений, в которых они будут заполнять бюджет на новый год.
Сделала файлы, защитила часть листов, защитила часть ячеек.
Может это повлиять на возникновение скрытых имен? Все, что создала в этой папке заразилось скрытыми именами.

Мало того, почти все, что открываю, даже не из этих папок — тоже со скрытыми именами. Теперь очень часто выпадает запись, что «не все связи обновлены», и в других темах.

Что делать? Чищу все файлы, которые открываю, спасибо  Serge 007! НО зараза распространяется. Что можно предпринять?
Что делаю неверно? Может кто-то из гуру подскажет?


ЦитироватьПочему-то почти все файлы, которые я открываю, имеют сейчас скрытые имена.

Вы создали файлы из исходного, в котором были (есть) эти имена. Или копируете из такого файла листы.


vikttur, спасибо.

Я очевидно в самом начале взяла файлы с именами.
Но я очищаю макросом от Serge 007, имена появляются опять.
Я не копирую вкладки, только связи с внешними файлами есть.
Еще в самом файле защищенные листы и в листе с вводом информации защищенные ячейки.


И катаклизмы им не страшны! Супервыживание! :)

Не бывает такого, чтобы имена ниоткуда появлялись. возможно, макрос какой в книге макросов живет?


Может, только я не знаю как его искать.
Спасибо, подумаю.


  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Как в файле найти и удалить имена диапазонов, ячеек?

Содержание

  1. Excel посмотреть скрытые имена
  2. Оставьте комментарий!
  3. На сообщение “Как увидеть скрытые имена в файле?” комментариев 7
  4. Найдены скрытые имена
  5. Проблема
  6. Рекомендуемое решение
  7. VBA Projects
  8. Programming and other
  9. Скрытые имена в Excel
  10. Скрытые имена в Excel : 3 комментария
  11. Добавить комментарий
  12. Вывод списка имён (Names) книги Excel на новый лист
  13. Имена в формулах
  14. Дополнительно об использовании имен
  15. Создание на листе имени для ячейки или диапазона ячеек
  16. Управление именами с помощью диалогового окна диспетчера имен

Excel посмотреть скрытые имена

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

Можно отобразить скрытые имена с помощью небольшого макроса:

Чтобы воспользоваться данным алгоритмом, необходимо открыть редактор Visual Basic (клавиши Alt + F11 ) и вставить на лист модуля (если модуля нет, то выполнить команду InsertModule):

Sub Unhidden_Name()
Dim vName As Variant
For Each vName In ThisWorkbook.Names
vName.Visible = 1
Next vName
End Sub

Затем вернуться в окно Microsoft Excel, запустить выполнение макроса в окне Макросов (клавиши Alt+F8).

В окне Диспетчера имен (клавиши Ctrl+F3) будет сформирован список всех имен, при необходимости их можно и удалить.

Оставьте комментарий!

На сообщение “Как увидеть скрытые имена в файле?” комментариев 7

О, да! меня это крайне раздражало!

Интересно, почему в окне Диспетчера имен он не показывает при любых фильтрах эти скрытые имена?

Прекрасно, т.к. периодически встречаюсь при копировании листа

Не буду пытаться понять почему так происходит, просто буду искать скрытые имена через данный макрос. Огромное спасибо!

Hey. I sent a screenshot. Did you get it?

Hi! Your screenshot is not received

Не могу понять только одного: почему программа сама сразу не готова все имена показывать и не скрывать!

Источник

Найдены скрытые имена

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

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

Проблема

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

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

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

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

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

Источник

VBA Projects

Programming and other

Скрытые имена в Excel

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

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

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

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

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

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

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

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

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

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

Скрытые имена в Excel : 3 комментария

>> Возможно ли не пользуясь процедурой на VBA изменить статус скрытых имен?

Спасибо за макрос! Взял на вооружение.

Шикарно! Спасибо. Но не помогло ( Видимо, просто нужно удалить все именованные диапазоны.

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

Для отправки комментария вам необходимо авторизоваться.

Источник

Вывод списка имён (Names) книги Excel на новый лист

Если вы хотите посмотреть, присутствуют ли в книге Excel назначенные имена,
сделать это просто — достаточно вызвать диспетчер имён нажатием комбинации клавиш Ctrl + F3:

В диспетчере имён можно создать новые имена, просмотреть ранее созданные, и, при желании, изменить их.

Одно но: в диспетчере имён отображаются только видимые имена,

а в книге Excel могут присутствовать и скрытые.

Чтобы узнать количество имён в книге, а также посмотреть их значения,
мы воспользуемся макросом:

Для этого в прикреплённом файле нажмём зеленую кнопку,
и увидим вообщение с информацией о количестве имен в книге:

Если в диаоговом окне мы нажмём «Да», то макрос создаст новую книгу, и сформирует в ней таблицу со списком всех имен книги:

Если же вам требуется вывести список видимых имён на лист Excel, то можно воспользоваться макросом из одной строки:

Того же эффекта можно добиться, нажав кнопку «Все имена» в диалоговом окне, вызываемом из меню Вставка — Имя — Вставить. (в Excel 2003):

Источник

Имена в формулах

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

Пример без имени

Пример с именем

Дополнительно об использовании имен

Существует несколько типов имен, которые можно создавать и использовать.

Определенное имя Имя, представляющее ячейку, диапазон ячеек, формулу или константное значение. Вы можете создать собственное определенное имя или Excel создать определенное имя, например при создании области печати.

Имя таблицы Имя таблицы Excel, которая является набором данных по определенной теме, которые хранятся в записях (строках) и полях (столбцах). Excel создает таблицу Excel «Таблица1», «Таблица2» и так далее при каждой вставке Excel таблицы. Вы можете изменить имя таблицы, чтобы сделать ее более осмысленной. Дополнительные сведения о Excel таблицах см. в этой Excel таблицах.

Все имена имеют область действия: это может быть определенный лист (локальный уровень листа) или вся книга (глобальный уровень книги). Область действия имени — это место, в котором имя распознается без требования. Например:

Если вы определили имя, например Budget_FY08, и его область действия — Лист1, это имя распознается только на листе «Лист1», но не на других листах.

Чтобы использовать локальное имя на другом, вы можете квалифицировать его перед именем. Например:

Если вы определили имя, например Sales_Dept_Goals, а область действия — книгу, это имя распознается для всех книг в книге, но не для других книг.

Имя должно быть уникальным в пределах своей области действия. Excel не позволяет определить имя, которое уже существует в пределах области действия. При этом можно использовать одинаковые имена в разных областях действия. Например, можно определить имя «ВаловойДоход» в областях действия «Лист1», «Лист2» и «Лист3» в одной и той же книге. Несмотря на одинаковость, каждое имя уникально в пределах своей области действия. Это можно сделать, чтобы формула с именем «ВаловойПримещение» всегда ссылалась на одинаковые ячейки на локальном уровне.

Можно даже определить это же имя «ВаловойДоход» на глобальном уровне книги, но область действия опять будет уникальной. Однако в этом случае может возникнуть конфликт имен. Чтобы устранить этот конфликт, по умолчанию Excel использует имя, определенное для этого таблицы, так как локальный уровень книги имеет приоритет над глобальным уровнем книги. Если вы хотите переопрепредидить приоритет и использовать имя книги, можно сделать это с неоднозначным, задав для этого имя книги. Например:

Локальный уровень можно переопрепредидить для всех книг. Исключением является первый таблица, которая всегда использует локальное имя, если конфликт имен не может быть переопределен.

Имя определяется с помощью:

Поле «Определенные имена» в области формул Этот способ лучше всего использовать для создания имени на уровне книги для выделенного диапазона.

Определение имени из выделения Можно удобно создавать имена из существующих имен строк и столбцов с помощью выделения ячеек на листе.

Диалоговое окно «Создание имени». Это лучше всего использовать, если нужна большая гибкость при создании имен, например, задание области определения на локальном уровне листа или создание примечания к имени.

Примечание. По умолчанию имена используют абсолютные ссылки на ячейки.

Имя можно ввести указанными ниже способами.

Ввода Введите имя, например, в качестве аргумента формулы.

Автозавершение формул . Используйте раскрывающийся список автозавершения формул, в котором автоматически выводятся допустимые имена.

Выбором из команды «Использовать в формуле». Выберите определенное имя на вкладке Формулы в группе Определенные имена из списка Использовать в формуле.

Вы также можете создать список определенных имен в книге. Выберите на листе место с двумя пустыми столбцами (список будет содержать два столбца: один для имен и один для описаний имен). Выберите ячейку, которая будет верхним левым углом списка. На вкладке Формулы в группе Определенные имена нажмите кнопку Использовать в формуле ,выберите вкладки Вировать, а затем в диалоговом окне В таблицу имена нажмите кнопку Список вкладки.

Ниже приводится список синтаксиса правил для создания и изменения имен.

Допустимые символы. Первым символом имени должна быть буква, знак подчеркивания (_) или обратная косая черта (). Остальные символы имени могут быть буквами, цифрами, точками и знаками подчеркивания.

Совет. В качестве определенного имени нельзя использовать буквы «C», «c», «R» и «r», поскольку они используются в качестве краткого текста для выбора строки или столбца для выбранной ячейки при их вводе в текстовое поле Имя или Перейти.

Имена в виде ссылок на ячейки запрещены. Имена не могут быть такими же, как ссылки на ячейки, например, Z$100 или R1C1.

Пробелы не допустимы Использовать в имени пробелы нельзя. Используйте знаки подчеркиваия (_) и точка (.) в качестве разных слов, таких как Sales_Tax или Первый.квартал.

Длина имени. Имя может содержать до 255 символов.

Учет регистра . Имя может состоять из строчных и прописных букв. Excel не различает строчные и прописные буквы в именах. Например, если вы создали имя Продажи, а затем другое имя — ПРОДАЖИ в той же книге, Excel вам будет предложено выбрать уникальное имя.

Создание на листе имени для ячейки или диапазона ячеек

Выделите ячейку, диапазон ячеек или несмежные ячейки, которым вы хотите присвоить имя.

Щелкните поле Имя у левого края строка формул.

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

Нажмите клавишу ВВОД.

Примечание: При изменении содержимого ячейки ей нельзя присвоить имя.

Можно преобразовать в имена существующие заголовки строк и столбцов.

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

На вкладке Формулы в группе Определенные имена нажмите кнопку Создать из выделенного фрагмента.

В диалоговом окне Создание имен из выделенного диапазона укажите место, содержащее заголовки, установив флажок в строке выше, в столбце слева, в строке ниже или в столбце справа. Имя, созданное с помощью этой процедуры, ссылается только на ячейки, содержащие значения, и исключает существующие названия строк и столбцов.

На вкладке Формулы в группе Определенные имена выберите пункт Присвоить имя.

В диалоговом окне Новое имя в поле Имя введите имя, которое вы хотите использовать для ссылки.

Примечание. Длина имени не может быть больше 255 знаков.

Для задания области действия имени в поле со списком Область выберите элемент Книга или имя листа в книге.

Также в поле Примечание можно ввести описание длиной до 255 знаков.

В поле Диапазон выполните одно из указанных ниже действий.

Чтобы указать ссылку на ячейки, введите ссылку на ячейки.

Совет. По умолчанию в этом режиме ввели текущий выбор. Чтобы ввести другие ссылки на ячейки в качестве аргумента, нажмите кнопку Свернуть диалоговое окно (диалоговое окно будет временно сжато), выйдите ячейки на этом сайте и нажмите кнопку Развернуть .

Чтобы указать константу, введите = (знак равенства), а затем значение константы.

Чтобы указать формулу, введите =, а затем формулу.

Чтобы закончить и вернуться на лист, нажмите кнопку ОК.

Совет: Чтобы расширить или удлинить диалоговое окно Создание имени, щелкните и перетащите маркер захвата, расположенный внизу.

Управление именами с помощью диалогового окна диспетчера имен

Диалоговое окно Диспетчер имен используется для работы со всеми определенными именами и именами таблиц в книге. Например, может потребоваться найти имена с ошибками, подтвердить значение и ссылку на имя, просмотреть или изменить описательные комментарии или определить область действия. Вы также можете сортировать и фильтровать список имен, а также легко добавлять, изменять и удалять имена из одного расположения.

Чтобы открыть диалоговое окно Диспетчер имен, на вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.

В диалоговом окне Диспетчер имен отображаются следующие сведения о каждом имени в списке.

Одно из следующих значений:

определенное имя, которое обозначается значком определенного имени;

имя таблицы, которое обозначается значком имени таблицы.

Текущее значение имени, такое как результаты формулы, строковая константа, диапазон ячеек, ошибка, массив значений или знаки-заполнители, если формулу не удается вычислить. Вот типичные примеры.

«это моя строковая константа»

Текущая ссылка для имени. Вот типичные примеры.

Источник

Ребята, я только что тоже потестировал.  
Выяснил, что скрытые имена, оканчивающиеся на !_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

Вывод списка имён (Names) книги Excel на новый лист

Если вы хотите посмотреть, присутствуют ли в книге Excel назначенные имена,
сделать это просто — достаточно вызвать диспетчер имён нажатием комбинации клавиш Ctrl + F3: 

В диспетчере имён можно создать новые имена, просмотреть ранее созданные, и, при желании, изменить их.

Одно но: в диспетчере имён отображаются только видимые имена,

а в книге Excel могут присутствовать и скрытые.

Чтобы узнать количество имён в книге, а также посмотреть их значения,
мы воспользуемся макросом:

Sub ПолучениеСпискаИмёнВКниге()
    Dim n As Name, VisibleNames%, HiddenNames%, WB As Workbook, i As Long
    Set WB = ActiveWorkbook
    For Each n In WB.Names
        VisibleNames = VisibleNames - n.Visible
        HiddenNames = HiddenNames - Not n.Visible
    Next n
 
    If VisibleNames + HiddenNames = 0 Then
        MsgBox "Имена в книге отсутствуют (не назначены)", vbInformation
    Else
        msg = "Количество имён в книге: " & VisibleNames + HiddenNames & vbNewLine & _
              "Из них видимых: " & VisibleNames & ", скрытых: " & HiddenNames & vbNewLine & _
              vbNewLine & "Вывести на лист список всех имён?"
        If MsgBox(msg, vbInformation + vbYesNo, "Имена в открытом файле") = vbYes Then
            Dim sh As Worksheet: Set sh = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
            sh.Cells(1, 1).Resize(, 4).Value = _
            Array("№", "Имя", "Видимость", "Ссылка (значение)")
            sh.Cells(1, 1).Resize(, 4).Interior.ColorIndex = 15
            For i = 1 To WB.Names.Count
                Set n = WB.Names(i)
                sh.Cells(i + 1, 1).Resize(, 4).Value = _
                Array(i, n.Name, IIf(n.Visible, "Видимое", "Скрытое"), "'" & n.RefersTo)
            Next i
            sh.UsedRange.EntireColumn.AutoFit
        End If
    End If
End Sub

Для этого в прикреплённом файле нажмём зеленую кнопку,
и увидим вообщение с информацией о количестве имен в книге:

Если в диаоговом окне мы нажмём «Да», то макрос создаст новую книгу, и сформирует в ней таблицу со списком всех имен книги:

Если же вам требуется вывести список видимых имён на лист Excel, то можно воспользоваться макросом из одной строки:

Sub СписокВидимыхИмён()
    ActiveCell.ListNames
End Sub

Того же эффекта можно добиться, нажав кнопку «Все имена» в диалоговом окне, вызываемом из меню Вставка — Имя — Вставить… (в Excel 2003):

  • 29073 просмотра

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

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