Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Диалоговое окно «Диспетчер имен» используется для работы со всеми определенными именами и именами таблиц в книге. Например, может потребоваться найти имена с ошибками, подтвердить значение и ссылку на имя, просмотреть или изменить описательные комментарии или определить область. Вы также можете отсортировать и отфильтровать список имен, а также легко добавлять, изменять или удалять имена из одного расположения.
Чтобы открыть диалоговое окно Диспетчер имен, на вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.
В диалоговом окне Диспетчер имен отображаются следующие сведения о каждом имени в списке.
Имя столбца |
Описание |
---|---|
Имя |
Одно из следующих значений:
|
Значение |
Текущее значение имени, такое как результаты формулы, строковая константа, диапазон ячеек, ошибка, массив значений или знаки-заполнители, если формулу не удается вычислить. Вот типичные примеры.
|
Диапазон |
Текущая ссылка для имени. Вот типичные примеры.
|
Область |
|
Примечание |
Дополнительные сведения об имени длиной до 255-ти знаков. Вот типичные примеры.
|
Объект ссылки: |
Ссылка на выбранное имя. Диапазон имени можно быстро изменить, изменив сведения в поле «Ссылки «. После внесения изменений можно нажать кнопку » |
Примечания:
-
При изменении содержимого ячейки нельзя использовать диалоговое окно диспетчера имен.
-
В диалоговом окне диспетчера имен не отображаются имена, определенные в Visual Basic для приложений (VBA) или скрытые имена (свойство Visible имени имеет значение False).
-
На вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
-
В диалоговом окне «Новое имя» введите имя, которое вы хотите использовать для ссылки.
Примечание: Длина имени не может превышать 255 знаков.
-
Область автоматически по умолчанию используется для книги. Чтобы изменить область имени, в раскрывающемся списке «Область» выберите имя листа.
-
Также в поле Примечание можно ввести описание длиной до 255 знаков.
-
В поле Диапазон выполните одно из указанных ниже действий.
-
Нажмите кнопку «Свернуть
» (при этом диалоговое окно временно сжимается), выделите ячейки на листе и нажмите кнопку » Развернуть диалоговое окно»
.
-
Чтобы указать константу, введите = (знак равенства), а затем значение константы.
-
Чтобы указать формулу, введите =, а затем формулу.
Советы:
-
Будьте внимательны при использовании абсолютных или относительных ссылок в формуле. Если создать ссылку, щелкнув ячейку, на которую вы хотите ссылаться, Excel создать абсолютную ссылку, например «Sheet1!$B$1». Если ввести ссылку, например «B1», это относительная ссылка. Если при выборе имени активной ячейкой является A1, то ссылка на «B1» действительно означает «ячейка в следующем столбце». Если вы используете определенное имя в формуле в ячейке, ссылка будет на ячейку в следующем столбце относительно места ввода формулы. Например, если ввести формулу в C10, ссылка будет иметь значение D10, а не B1.
-
Дополнительные сведения: переключение между относительным, абсолютным и смешанным ссылками
-
-
-
Чтобы закончить и вернуться на лист, нажмите кнопку ОК.
Примечание: Чтобы расширить или удлинить диалоговое окно Создание имени, щелкните и перетащите маркер захвата, расположенный внизу.
При изменении определенного имени или имени таблицы все его использование в книге также изменяется.
-
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
-
В диалоговом окне диспетчера имен дважды щелкните имя, которое вы хотите изменить, или выберите имя, которое вы хотите изменить, а затем нажмите кнопку «Изменить».
-
В диалоговом окне Изменение имени введите новое имя для ссылки в поле Имя.
-
Измените ссылку в поле Диапазон и нажмите кнопку ОК.
-
В диалоговом окне Диспетчер имен в поле Диапазон измените ячейку, формулу или константу, представленную этим именем.
-
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
-
В диалоговом окне Диспетчер имен щелкните имя, которое нужно изменить.
-
Выделите одно или несколько имен одним из способов, указанных ниже.
-
Для выделения имени щелкните его.
-
Чтобы выбрать несколько имен в непрерывной группе, щелкните и перетащите их, а затем нажмите клавишу SHIFT и нажмите кнопку мыши для каждого имени в группе.
-
Чтобы выбрать несколько имен в несмежной группе, нажмите клавишу CTRL и нажмите кнопку мыши для каждого имени в группе.
-
-
Нажмите кнопку Удалить.
-
Нажмите кнопку ОК, чтобы подтвердить удаление.
Используйте команды раскрывающегося списка Фильтр для быстрого отображения подмножества имен. Выбор каждой команды включает или отключает операцию фильтра, что упрощает объединение или удаление различных операций фильтра для получения нужных результатов.
Можно выполнить фильтрацию из следующих параметров:
Параметр |
Действие |
---|---|
Имена на листе |
Отобразить только локальные имена листа. |
Имена в книге |
Отобразить только глобальные имена в книге. |
Имена с ошибками |
Отображение только имен со значениями, содержащими ошибки (например, #REF, #VALUE или #NAME). |
Имена без ошибок |
Отобразить только те имена, в значениях которых нет ошибок. |
Определенные имена |
Отобразить только те имена, которые определены пользователем или Excel, такое как имя области печати. |
Имена таблиц |
Отобразить только имена таблиц. |
-
Чтобы отсортировать список имен в порядке возрастания или убывания, щелкните заголовок столбца.
-
Чтобы автоматически изменить размер столбца в соответствии с самым длинным значением в этом столбце, дважды щелкните правую часть заголовка столбца.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Почему в Excel появляется диалоговое окно «Конфликт имен»?
Создание именованного диапазона в Excel
Вставка именованного диапазона в формулу в Excel
Определение и использование имен в формулах
Нужна дополнительная помощь?
Вступление
Тема должна включать информацию, конкретно связанную с именованными диапазонами в Excel, включая методы создания, изменения, удаления и доступа к определенным именованным диапазонам.
Определить именованный диапазон
Использование именованных диапазонов позволяет описать значение содержимого ячейки (я) и использовать это определенное имя вместо фактического адреса ячейки.
Например, формулу =A5*B5
можно заменить на =Width*Height
чтобы упростить чтение и понимание формулы.
Чтобы определить новый именованный диапазон, выберите ячейку или ячейки для имени, а затем введите новое имя в поле «Имя» рядом с панелью формул.
Примечание. Именованные диапазоны по умолчанию относятся к глобальной области, что означает, что к ним можно получить доступ из любой точки книги. Старые версии Excel позволяют дублировать имена, поэтому необходимо избегать дублирования имен глобальной области, иначе результаты будут непредсказуемыми. Используйте вкладку «Диспетчер имен» на вкладке «Формулы», чтобы изменить область действия.
Создайте новый именованный диапазон под названием «MyRange», назначенный ячейке A1
ThisWorkbook.Names.Add Name:="MyRange", _
RefersTo:=Worksheets("Sheet1").Range("A1")
Удалить определенный именованный диапазон по имени
ThisWorkbook.Names("MyRange").Delete
Доступ к именованному диапазону по имени
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)
Доступ к названию диапазона с ярлыком
Как и любой другой диапазон , именованные диапазоны могут быть доступны напрямую с помощью ярлыка, который не требует создания объекта Range
. Три строки из выдержки из вышеприведенного кода могут быть заменены одной строкой:
Call MsgBox("Width = " & [MyRange])
Примечание. Свойством по умолчанию для диапазона является его значение, поэтому
[MyRange]
совпадает с[MyRange].Value
Вы также можете вызвать методы в диапазоне. Следующий выбирает MyRange
:
[MyRange].Select
Примечание. Одно предостережение состоит в том, что нотация ярлыка не работает со словами, которые используются в другом месте библиотеки VBA. Например, диапазон с именем
Width
не будет доступен как[Width]
но будет работать, как ожидалось, при доступе черезThisWorkbook.Worksheets("Sheet1").Range("Width")
Управление именованным диапазоном (диапазонами) с помощью диспетчера имен
Вкладка «Формулы»> «Определенная группа имен»> «Диспетчер имен»
Именованный менеджер позволяет:
- Создайте или измените имя
- Создать или изменить ссылку на ячейку
- Создать или изменить область действия
- Удалить существующий именованный диапазон
Named Manager предоставляет полезный быстрый поиск неработающих ссылок.
Именованные массивы диапазонов
Примерный лист
Код
Sub Example()
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("Sheet1")
Dim units As Range
Set units = ThisWorkbook.Names("Units").RefersToRange
Worksheets("Sheet1").Range("Year_Max").Value = WorksheetFunction.Max(units)
Worksheets("Sheet1").Range("Year_Min").Value = WorksheetFunction.Min(units)
End Sub
Результат
Содержание
- Расширение диспетчера имен Excel
- Работа с диспетчером имен
- Использование фильтра
- Изменение видимости
- Удаление стилей
- Объект Names (Excel)
- Замечания
- Пример
- Методы
- Свойства
- См. также
- Поддержка и обратная связь
- Names object (Excel)
- Remarks
- Example
- Methods
- Properties
- See also
- Support and feedback
- Использование Диспетчера имен в Excel
- excel-vba Именованные диапазоны
- Вступление
- Определить именованный диапазон
- Использование именных диапазонов в VBA
- Управление именованным диапазоном (диапазонами) с помощью диспетчера имен
Расширение диспетчера имен Excel
Работа с диспетчером имен
Надстройка VBA-Excel содержит инструменты расширяющая возможности стандартного диспетчера имен. Чтобы запустить расширенный диспетчер имен нужно на вкладке меню VBA-Excel, открыть выпадающий список Диспетчеры и выбрать команду Диспетчер имен.
В диалоговом окне диспетчера будут перечислены все имеющиеся в файле имена. Будут отображены в том числе и скрытые, которые нельзя увидеть в стандартном диспетчере имен.
Для каждого именованного диапазона выводится его название, значение, ссылка на диапазон, видимость (скрытый или нет) и примечание при наличие.
Использование фильтра
В диспетчере можно выбрать один или несколько именованных диапазонов нажав левой кнопкой мыши по ним. Для удобства выбора можно пользоваться фильтром. С помощью фильтра можно быстро выбрать все имена или снять с них выделение. Также можно выбрать все скрытые или видимые имена.
Изменение видимости
Вы можете изменить видимость любого именованного диапазона, достаточно выбрать его и нажать на команду.
Команда работает как переключатель видимый/скрытый
Удаление стилей
С помощью диспетчера можно удалить все имена из книги, в том числе и скрытые.
Иногда в книге имеются скрытые имена, значение которых берется из другого файла. Это приводит к тому, что как бы вы не пытались — связь с этим файлом разорвать не получится. С помощью диспетчера имен вы сможете удалить даже такие скрытые именованные диапазоны.
Источник
Объект Names (Excel)
Коллекция всех объектов Name в приложении или книге.
Замечания
Каждый объект Name представляет определенное имя для диапазона ячеек. Имена могут быть встроенными именами, например базами данных, Print_Area и Auto_Open, или пользовательскими именами.
Аргумент RefersTo должен быть указан в нотации в стиле A1, включая знаки доллара ($) при необходимости. Например, если ячейка A10 выбрана на листе Лист1 и вы определяете имя с помощью аргумента RefersTo «=лист1! A1:B1», новое имя фактически относится к ячейкам A10:B10 (так как вы указали относительную ссылку). Чтобы указать абсолютную ссылку, используйте «=лист1!$A$1:$B$1».
Пример
Используйте свойство Names объекта Workbook , чтобы вернуть коллекцию Names . В следующем примере создается список всех имен в активной книге, а также адресов, на которые они ссылаются.
Используйте метод Add , чтобы создать имя и добавить его в коллекцию. В следующем примере создается новое имя, которое ссылается на ячейки A1:C20 на листе с именем Sheet1.
Используйте name (index), где index — это номер индекса имени или определенное имя, чтобы вернуть один объект Name . В следующем примере имя mySortRange удаляется из активной книги.
В этом примере в качестве формулы для проверки данных используется именованный диапазон. В этом примере данные проверки должны быть на листе 2 в диапазоне A2:A100. Эти данные проверки используются для проверки данных, введенных на листе Sheet1 в диапазоне D2:D10.
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Names object (Excel)
A collection of all the Name objects in the application or workbook.
Each Name object represents a defined name for a range of cells. Names can be either built-in names—such as Database, Print_Area, and Auto_Open—or custom names.
The RefersTo argument must be specified in A1-style notation, including dollar signs ($) where appropriate. For example, if cell A10 is selected on Sheet1 and you define a name by using the RefersTo argument «=sheet1!A1:B1», the new name actually refers to cells A10:B10 (because you specified a relative reference). To specify an absolute reference, use «=sheet1!$A$1:$B$1».
Example
Use the Names property of the Workbook object to return the Names collection. The following example creates a list of all the names in the active workbook, plus the addresses that they refer to.
Use the Add method to create a name and add it to the collection. The following example creates a new name that refers to cells A1:C20 on the worksheet named Sheet1.
Use Names (index), where index is the name index number or defined name, to return a single Name object. The following example deletes the name mySortRange from the active workbook.
This example uses a named range as the formula for data validation. This example requires the validation data to be on Sheet 2 in the range A2:A100. This validation data is used to validate data entered on Sheet1 in the range D2:D10.
Methods
Properties
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Источник
Использование Диспетчера имен в Excel
Диалоговое окно «Диспетчер имен» используется для работы со всеми определенными именами и именами таблиц в книге. Например, может потребоваться найти имена с ошибками, подтвердить значение и ссылку на имя, просмотреть или изменить описательные комментарии или определить область. Вы также можете отсортировать и отфильтровать список имен, а также легко добавлять, изменять или удалять имена из одного расположения.
Чтобы открыть диалоговое окно Диспетчер имен, на вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.
В диалоговом окне Диспетчер имен отображаются следующие сведения о каждом имени в списке.
Одно из следующих значений:
определенное имя, которое обозначается значком определенного имени;
имя таблицы, которое обозначается значком имени таблицы.
Примечание: Имя таблицы — это имя таблицы Excel, которая представляет собой коллекцию данных об определенной теме, хранящихся в записях (строках) и полях (столбцах). Excel создает имя таблицы Excel таблицы table1, Table2 и т. д. при каждой вставке Excel таблицы. Вы можете изменить имя таблицы, чтобы сделать ее более понятной. Дополнительные сведения о Excel таблицах см. в статье «Использование структурированных ссылок с Excel таблицами».
Текущее значение имени, такое как результаты формулы, строковая константа, диапазон ячеек, ошибка, массив значений или знаки-заполнители, если формулу не удается вычислить. Вот типичные примеры.
«это моя строковая константа»
Текущая ссылка для имени. Вот типичные примеры.
имя листа, если область действия — локальный уровень листа;
«Книга», если областью является глобальный уровень книги. Этот вариант применяется по умолчанию.
Дополнительные сведения об имени длиной до 255-ти знаков. Вот типичные примеры.
Срок действия этого значения истекает 2 мая 2007 г.
Не удалять! Критическое имя!
Основано на числах экзамена на сертификацию ISO.
Ссылка на выбранное имя.
Диапазон имени можно быстро изменить, изменив сведения в поле «Ссылки «. После внесения изменений можно нажать кнопку » сохранить изменения», или
отменить изменения.
При изменении содержимого ячейки нельзя использовать диалоговое окно диспетчера имен.
В диалоговом окне диспетчера имен не отображаются имена, определенные в Visual Basic для приложений (VBA) или скрытые имена (свойство Visible имени имеет значение False).
На вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
В диалоговом окне «Новое имя» введите имя, которое вы хотите использовать для ссылки.
Примечание: Длина имени не может превышать 255 знаков.
Область автоматически по умолчанию используется для книги. Чтобы изменить область имени, в раскрывающемся списке «Область» выберите имя листа.
Также в поле Примечание можно ввести описание длиной до 255 знаков.
В поле Диапазон выполните одно из указанных ниже действий.
Нажмите кнопку «Свернуть » (при этом диалоговое окно временно сжимается), выделите ячейки на листе и нажмите кнопку » Развернуть диалоговое окно»
.
Чтобы указать константу, введите = (знак равенства), а затем значение константы.
Чтобы указать формулу, введите =, а затем формулу.
Будьте внимательны при использовании абсолютных или относительных ссылок в формуле. Если создать ссылку, щелкнув ячейку, на которую вы хотите ссылаться, Excel создать абсолютную ссылку, например «Sheet1!$B$1». Если ввести ссылку, например «B1», это относительная ссылка. Если при выборе имени активной ячейкой является A1, то ссылка на «B1» действительно означает «ячейка в следующем столбце». Если вы используете определенное имя в формуле в ячейке, ссылка будет на ячейку в следующем столбце относительно места ввода формулы. Например, если ввести формулу в C10, ссылка будет иметь значение D10, а не B1.
Чтобы закончить и вернуться на лист, нажмите кнопку ОК.
Примечание: Чтобы расширить или удлинить диалоговое окно Создание имени, щелкните и перетащите маркер захвата, расположенный внизу.
Источник
excel-vba
Именованные диапазоны
Вступление
Определить именованный диапазон
Использование именованных диапазонов позволяет описать значение содержимого ячейки (я) и использовать это определенное имя вместо фактического адреса ячейки.
Например, формулу =A5*B5 можно заменить на =Width*Height чтобы упростить чтение и понимание формулы.
Чтобы определить новый именованный диапазон, выберите ячейку или ячейки для имени, а затем введите новое имя в поле «Имя» рядом с панелью формул.
Примечание. Именованные диапазоны по умолчанию относятся к глобальной области, что означает, что к ним можно получить доступ из любой точки книги. Старые версии Excel позволяют дублировать имена, поэтому необходимо избегать дублирования имен глобальной области, иначе результаты будут непредсказуемыми. Используйте вкладку «Диспетчер имен» на вкладке «Формулы», чтобы изменить область действия.
Использование именных диапазонов в VBA
Создайте новый именованный диапазон под названием «MyRange», назначенный ячейке A1
Удалить определенный именованный диапазон по имени
Доступ к именованному диапазону по имени
Доступ к названию диапазона с ярлыком
Как и любой другой диапазон , именованные диапазоны могут быть доступны напрямую с помощью ярлыка, который не требует создания объекта Range . Три строки из выдержки из вышеприведенного кода могут быть заменены одной строкой:
Примечание. Свойством по умолчанию для диапазона является его значение, поэтому [MyRange] совпадает с [MyRange].Value
Вы также можете вызвать методы в диапазоне. Следующий выбирает MyRange :
Примечание. Одно предостережение состоит в том, что нотация ярлыка не работает со словами, которые используются в другом месте библиотеки VBA. Например, диапазон с именем Width не будет доступен как [Width] но будет работать, как ожидалось, при доступе через ThisWorkbook.Worksheets(«Sheet1»).Range(«Width»)
Управление именованным диапазоном (диапазонами) с помощью диспетчера имен
Вкладка «Формулы»> «Определенная группа имен»> «Диспетчер имен»
Именованный менеджер позволяет:
- Создайте или измените имя
- Создать или изменить ссылку на ячейку
- Создать или изменить область действия
- Удалить существующий именованный диапазон
Named Manager предоставляет полезный быстрый поиск неработающих ссылок.
Источник
desmake Пользователь Сообщений: 4 |
Доброго времени суток, подскажите как можно загрузить имена в диспетчер имен??? т.к. список достаточно большой, поэтому вручную достаточно сложно! |
DEAD MAN Пользователь Сообщений: 145 |
#2 04.06.2013 16:27:15 Составляете таблице со списком имен и ссылок (незабываем о типе ссылок и именах листов), например: Далее ALT+F11, InsertModule, открываем модуль, вставляем код:
Находясь на листе со списком имен нажимаем ALT+F8 и Выполнить Изменено: DEAD MAN — 04.06.2013 16:27:53 Пользователи, как школьники, учиться хотят далеко не все, а отличниками становятся единицы. |
||
desmake Пользователь Сообщений: 4 |
Уважаемый DEAD MAN, а можно для чайника на примере, как это выглядит в живом файле? |
DEAD MAN Пользователь Сообщений: 145 |
На работе заблокирована возможность выкладывать файлы, смогу выложить, когда буду дома. Пользователи, как школьники, учиться хотят далеко не все, а отличниками становятся единицы. |
desmake Пользователь Сообщений: 4 |
|
WhiteCanine Пользователь Сообщений: 10 |
#6 04.06.2013 17:25:15
А что имеется ввиду? Прикрепленные файлы
|
||
DEAD MAN Пользователь Сообщений: 145 |
#7 04.06.2013 18:08:15 Да, там должно быть:
Пользователи, как школьники, учиться хотят далеко не все, а отличниками становятся единицы. |
||
WhiteCanine Пользователь Сообщений: 10 |
#8 04.06.2013 18:12:29 выдаетошибку в этой строке
|
||
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Посмотрите на стиль ссылок. Если столбцы буквами — то и диапазон для имени должен быть вида A1:B10. Если цифрами: R1C1:R10C2. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
desmake Пользователь Сообщений: 4 |
Огромнейшее спасибо, все работает!!! |
WhiteCanine Пользователь Сообщений: 10 |
#11 05.06.2013 12:03:56 desmake, выложи что получилось, а то у меня никак не хочет. Получилось! Нужно, что бы вторая ячейка не была пустой Изменено: WhiteCanine — 05.06.2013 12:16:13 |
November 15, 2015/
Chris Newman
What Is A Named Range?
Creating a named range allows you to refer to a cell or group of cells with a custom name instead of the usual column/row reference. The HUGE benefit to using Named Ranges is it adds the ability to describe the data inside your cells. Let’s look at a quick example:
Can you tell if shipping costs are charged with the product price?
-
= (B7 + B5 * C4) * (1 + A3)
-
=(ShippingCharge + ProductPrice * Quantity) * (1 + TaxRate)
Hopefully, you can clearly see option number TWO gives you immediate insight to whether the cost of the products includes shipping costs. This allows the user to easily understand how the formula is calculating without having to waste time searching through cells to figure out what is what.
How Do I Use Named Ranges?
As a financial analyst, I play around with a bunch of rates. Examples could be anything from a tax rate to an estimated inflation rate. I use named ranges to organize my variables that either are changed infrequently (ie Month or Year) or something that will be static for a good amount of time (ie inflation rate). Here are a list of common names I use on a regular basis:
-
ReportDate
-
Year
-
Month
-
FcstID
-
TaxRate
-
RawData
Creating Unique Names On The Fly
It is super easy to create a Named Range. All you have to do is highlight the cell(s) you want to reference and give it a name in the Name Box. You name cannot have any spaces in it, so if you need to separate words you can either capitalize the beginning of each new word or use an underscore (_). Make sure you hit the ENTER key after you have finished typing the name to confirm the creation of the Named Range.
As a side note, any Named Range created with the Name Box has a Workbook scope. This means the named range can be accessed by any worksheet in your Excel file.
Creating Names With The «Name Manager»
If you want to customize your named ranges even more, you can open up the Name Manager (Formulas tab > Defined Names group > Name Manager button) to edit and create new named ranges.
I won’t go into great detail in this article, but know that with the Name Manager you can
-
Change the name of an existing Named Range
-
Change the reference formula
-
Specify the scope (what worksheets the name can be accessed from)
On To The VBA
Now that you have had a brief overview on Named Ranges, lets dig into some VBA macros you can use to help automate the use of Named Ranges.
Add A Named Range
The below VBA code shows ways you can create various types of named ranges.
Sub NameRange_Add()
‘PURPOSE: Various ways to create a Named Range
‘SOURCE: www.TheSpreadsheetGuru.com
Dim cell As Range
Dim rng As Range
Dim RangeName As String
Dim CellName As String
‘Single Cell Reference (Workbook Scope)
RangeName = «Price»
CellName = «D7»
Set cell = Worksheets(«Sheet1»).Range(CellName)
ThisWorkbook.Names.Add Name:=RangeName, RefersTo:=cell
‘Single Cell Reference (Worksheet Scope)
RangeName = «Year»
CellName = «A2»
Set cell = Worksheets(«Sheet1»).Range(CellName)
Worksheets(«Sheet1»).Names.Add Name:=RangeName, RefersTo:=cell
‘Range of Cells Reference (Workbook Scope)
RangeName = «myData»
CellName = «F9:J18»
Set cell = Worksheets(«Sheet1»).Range(CellName)
ThisWorkbook.Names.Add Name:=RangeName, RefersTo:=cell
‘Secret Named Range (doesn’t show up in Name Manager)
RangeName = «Username»
CellName = «L45»
Set cell = Worksheets(«Sheet1»).Range(CellName)
ThisWorkbook.Names.Add Name:=RangeName, RefersTo:=cell, Visible:=False
End Sub
Loop Through Named Ranges
This VBA macro code shows how you can cycle through the named ranges within your spreadsheet.
Sub NamedRange_Loop()
‘PURPOSE: Delete all Named Ranges in the Active Workbook
‘SOURCE: www.TheSpreadsheetGuru.com
Dim nm As Name
‘Loop through each named range in workbook
For Each nm In ActiveWorkbook.Names
Debug.Print nm.Name, nm.RefersTo
Next nm
‘Loop through each named range scoped to a specific worksheet
For Each nm In Worksheets(«Sheet1»).Names
Debug.Print nm.Name, nm.RefersTo
Next nm
End Sub
Delete All Named Ranges
If you need to clean up a bunch of junk named ranges, this VBA code will let you do it.
Sub NamedRange_DeleteAll()
‘PURPOSE: Delete all Named Ranges in the ActiveWorkbook (Print Areas optional)
‘SOURCE: www.TheSpreadsheetGuru.com
Dim nm As Name
Dim DeleteCount As Long
‘Delete PrintAreas as well?
UserAnswer = MsgBox(«Do you want to skip over Print Areas?», vbYesNoCancel)
If UserAnswer = vbYes Then SkipPrintAreas = True
If UserAnswer = vbCancel Then Exit Sub
‘Error Handler in case Delete Function Errors out
On Error GoTo Skip
‘Loop through each name and delete
For Each nm In ActiveWorkbook.Names
If SkipPrintAreas = True And Right(nm.Name, 10) = «Print_Area» Then GoTo Skip
‘Error Handler in case Delete Function Errors out
On Error GoTo Skip
‘Delete Named Range
nm.Delete
DeleteCount = DeleteCount + 1
Skip:
‘Reset Error Handler
On Error GoTo 0
Next
‘Report Result
If DeleteCount = 1 Then
MsgBox «[1] name was removed from this workbook.»
Else
MsgBox «[» & DeleteCount & «] names were removed from this workbook.»
End If
End Sub
Delete Named Ranges with Error References
This VBA code will delete only Named Ranges with errors in them. These errors can be caused by worksheets being deleted or rows/columns being deleted.
Sub NamedRange_DeleteErrors()
‘PURPOSE: Delete all Named Ranges with #REF error in the ActiveWorkbook
‘SOURCE: www.TheSpreadsheetGuru.com
Dim nm As Name
Dim DeleteCount As Long
‘Loop through each name and delete
For Each nm In ActiveWorkbook.Names
If InStr(1, nm.RefersTo, «#REF!») > 0 Then
‘Error Handler in case Delete Function Errors out
On Error GoTo Skip
‘Delete Named Range
nm.Delete
DeleteCount = DeleteCount + 1
End If
Skip:
‘Reset Error Handler
On Error GoTo 0
Next
‘Report Result
If DeleteCount = 1 Then
MsgBox «[1] errorant name was removed from this workbook.»
Else
MsgBox «[» & DeleteCount & «] errorant names were removed from this workbook.»
End If
End Sub
Anything Missing From This Guide?
Let me know if you have any ideas for other useful VBA macros concerning Named Ranges. Or better yet, share with me your own macros and I can add them to the article for everyone else to see! I look forward to reading your comments below.
About The Author
Hey there! I’m Chris and I run TheSpreadsheetGuru website in my spare time. By day, I’m actually a finance professional who relies on Microsoft Excel quite heavily in the corporate world. I love taking the things I learn in the “real world” and sharing them with everyone here on this site so that you too can become a spreadsheet guru at your company.
Through my years in the corporate world, I’ve been able to pick up on opportunities to make working with Excel better and have built a variety of Excel add-ins, from inserting tickmark symbols to automating copy/pasting from Excel to PowerPoint. If you’d like to keep up to date with the latest Excel news and directly get emailed the most meaningful Excel tips I’ve learned over the years, you can sign up for my free newsletters. I hope I was able to provide you with some value today and I hope to see you back here soon!
— Chris
Founder, TheSpreadsheetGuru.com
Определение и использование имен в формулах
Смотрите также возможность выкладывать файлы, следующем точно. Ещё Ваш вариант. Разобрался,. Имеется улицаВвиду того, что Cell As Range,Проблема заключается в абсолютным, и относительным) копируются и правильно Excel. Если желаете имяУрок подготовлен для Вас случаев это делать Мы выделим ячейкуДанный способ является самымв столбце справаПримечание: смогу выложить, когда раз спасибо за как работает. Лучше
»40 лет победы» реальная задача относится FName As String, том, что в имена листов. И интерпретируются на любом получить еще большеКомиссионные командой сайта office-guru.ru рекомендуется, особенного, когда С3, а затем быстрым способом присвоить
Присвоение имени ячейке
-
.
-
Мы стараемся как можно буду дома. помощь.
-
и проще делать
Присвоение имен из выделенного диапазона
-
. А так, как к созданию формулы, F Set Cell моей версии MS
-
если на обычном листе… информации об именах,. Теперь нашу формулу
-
Автор: Антон Андронов имен становится слишком ее перезададим. имя ячейке илиВыберите оперативнее обеспечивать васdesmakeP.S. может посмотрите так, чем, как в возвращающей значение плотности = ActiveCell F
-
Excel 2013 (и листе формулы поддаютсяС.М.
читайте следующие статьи: можно записать вАвтор: Антон Андронов
Использование имен в формулах
-
много или, когдаПерейдите на вкладку
-
диапазону в Excel.OK актуальными справочными материалами
-
: Буду очень благодарен!!! продолжение этого примера: у меня было
диспетчере имён среды в зависимости = Cell.Formula F вероятно не только корректировке, то в: Если X -
-
Как присвоить имя ячейке
Управление именами в книге с помощью диспетчера имен
-
следующем виде:Создавать и применять формулы Вы ведете совместныйФормулы Чтобы воспользоваться им,. на вашем языке.WhiteCanine
См. также
http://www.excelworld.ru/forum/2-32434-1 до этого.
имя не может от ее температуры
= Application.ConvertFormula(F, xlA1, в ней) при
редакторе Диспетчера задач в столбце B
support.office.com
Как присвоить имя ячейке или диапазону в Excel
или диапазону вКак видите, новая форма в Excel гораздо проект с другимии выберите команду выполните следующие шаги:Excel присвоит ячейкам имена Эта страница переведена: А что имеетсяБез макросов видимоbmv98rus начинаться с цифры и давления (квадратичная xlA1, xlAbsolute) ‘ сохранении формулы редактор коррекция не проходит… :
Используем поле Имя
Excel? записи формулы стала проще, когда вместо людьми.Присвоить имяВыделите ячейку или диапазон,
- на основе заголовков автоматически, поэтому ее ввиду? не обойтись.:
- то пришлось назвать по обоим параметрам), автоматический перевод адресов самостоятельно добавляет кС.М.=Лист1!$C$4*ИНДЕКС($B:$B;СТРОКА())+Лист1!$C$55 полезных правил и более очевидной и
- адресов ячеек иВ поле. которым необходимо присвоить
- из указанного диапазона. текст может содержатьУ меня макросdesmakeDrMini улицу то ИМХО проще ячеек (диапазонов) в «коротким ссылкам на: Для редактирования формулДля любого столбца
- рекомендаций по созданию простой для восприятия. диапазонов в нихДиапазонОткроется диалоговое окно имя. В нашемВыделите ячейку и введите
- неточности и грамматические выдает ошибку, и: Доброго времени суток,,»Сорок лет победы» уже создать сразу
Используем диалоговое окно Создание имени
абсолютные ‘ Rem активный лист» название в Диспетчере нажмите (значение X -
- имен в Excel Можно пойти еще используются имена. Имяотображается адрес активнойСоздание имени случае это диапазон формулу. ошибки. Для нас
- обозначает подскажите как можноа с чем. В принципе нужную UDF (определенную
- Но в этом самого листа - F2.
- слева от ячейкиДиспетчер имен в Excel дальше и для выступает как бы области, т.е. адрес. B2:B13.Поместите курсор туда, где важно, чтобы этаі загрузить имена в связано такое представление ничего страшного но пользователем функцию). случае формула должна что препятствует корректномуIKor с именем формулы)
- Как присваивать имена константам значения комиссионных создать идентификатором какого-либо элемента ячейки или диапазона,В полеЩелкните по полю вы хотите использовать статья была вамDEAD MAN диспетчер имен??? т.к. данных? может есть способНо это не быть не очень использованию этого же: Благодарю за совет. : в Excel? именованную константу. В рабочей книги. Имя которые мы выбралиИмя
- Имя в формуле имя. полезна. Просим вас: Да, там должно список достаточно большой,не в защиту обойти это ограничение? наш метод! длинной ~ 255 имени на другихК сожалению моя=Лист1!$C$4*Ч(ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ()-1)))+Лист1!$C$5
- Урок подготовлен для Вас этом случае исчезнет может присваиваться ячейкам, ранее. При необходимостивведите требуемое имя.и введите необходимоеВведите первую букву имени уделить пару секунд быть: поэтому вручную достаточно формулы моей ,PelenaУже до каких знаков. Rem Но
листах. проблема возникает вIKor командой сайта office-guru.ru необходимость выделять под диапазонам, таблицам, диаграммам, данный диапазон можно
- В нашем случае имя, соблюдая правила, и выберите его и сообщить, помогла
Dim i as сложно! которую можно чуть: Здравствуйте. только ухищрений я имена коротких формулОчевидно, что при
момент сохранения изменений: Возможно я что-тоАвтор: Антон Андронов нее отдельную ячейку фигурам и т.д. перезадать. Для этого это имя рассмотренные здесь. Пусть
- из появившегося списка. ли она вам, Long
- DEAD MAN упростить,Поставьте для имент
- не опускался лишь
- можно «вкладывать» друг редактировании именованной формулы
в редакторе Диспетчера делаю не так,
Автор: Антон Андронов
на рабочем листе
office-guru.ru
Знакомство с именами ячеек и диапазонов в Excel
Мы же рассмотрим поместите курсор вКоэффициент это будет имяИли выберите с помощью кнопокWhiteCanine: Составляете таблице со200?’200px’:»+(this.scrollHeight+5)+’px’);»>=INDIRECT(«‘Улицы’!R2C»&MATCH(C3;Улицы!$1:$1;FALSE)&»:R»&COUNTA(INDIRECT(«‘Улицы’!C» &MATCH(C3;Улицы!$1:$1);FALSE))& «C» & перед числом знак бы не использовать в друга как из другого листа задач. но Ваш вариантIKor Excel.
только имена, назначаемые поле. В ряде случаевПродажи_по_месяцамФормулы внизу страницы. Для: выдаетошибку в этой списком имен и MATCH(C3;Улицы!$1:$1;FALSE);FALSE) подчеркивания, а в VBA… видимо, и матрёшки. Rem Если (стирании старого имениВ качестве временного
также привязывает относительные: Уважаемые коллеги,Назначая имена ячейкам и ячейкам, диапазонам иДиапазон Excel автоматически подставляет.> удобства также приводим
строке ссылок (незабываем оПросто для понимания. источнике списка используйте сейчас буду использовать закомментировать строку F листа) редактор самостоятельно решения (работающего!) мне ссылки к активномуВ диспетчере имен диапазонам в Excel, константам применительно к, вокруг указанной области имя на основеНажмите клавишуИспользовать в формуле ссылку на оригинал
ThisWorkbook.Names.Add Sh.Cells(i, 1).Value, типе ссылок и например можно делать функцию ПОДСТАВИТЬ, чтобы разные именованные функции = Application.ConvertFormula … подставляет новое имя пришла в голову листу (на момент можно создать зависимость, мы приобретаем еще формулам Excel. появится динамическая граница.
Простой способ выделить именованный диапазон в Excel
данных в соседнихEnterи выберите имя, (на английском языке). RefersTo:=Sh.Cells(i, 2).Value именах листов), например: все списком из его убрать. для разных листов… , можно «запомнить» в «короткую ссылку». возможность сворачивания в редактирования поля диапазон одновременно привязанную абсолютными
одно очень полезное
Как вставить имя ячейки или диапазона в формулу
Приведем небольшой пример. Представим,Мышкой выделите новую область ячейках. В нашем, и имя будет которое хотите использовать.
- Использование имен позволяет значительноThe_PristИмяСсылка
- двух колонок, гдеПодробнее при наличииlstrike длинную формулу, Rem
- В настоящий момент отдельную именованную_переменную самого в источнике данных)… ссылками к неактивным преимущество – возможность что мы продаем или укажите эту
случае так и создано.Нажмите клавишу Ввод. упростить понимание и: Посмотрите на стильЛюди’=’Сотрудники отделов!’$A$1:$D$10 первая Улица, вторая файла с примером
- : Форумчане, подскажите где переведя адреса в я вижу два
- аргумента функции (в==========================UPDATE=================== листу(-ам) и относительными
- быстро выделять эти
- элитную косметику и область, введя диапазон
произошло. Если ExcelЕсли нажать на раскрывающийся
На ленте выберите
изменение формул. Вы
office-guru.ru
Диспетчер имен. Относительная ссылка без привязки к активному листу
ссылок. Если столбцыДалее ALT+F11, InsertModule,
дом. сортировка нужнаDrMini в Excel 2011 формуле в абсолютные решения своей проблемы: предложенном Вами синтаксисе).Попробовал Ваш второй
ссылками на к области. Например, чтобы
получаем фиксированный процент прямо в текстовое этого не сделал
список поляформулы > определенные имена можете задать имя буквами — то открываем модуль, вставляем по имени улицы: Прошу прощения. Вот (Mac) найти «руками». If Not1. использование однотипных,
Однако, я боюсь вариант формулы - активному листу выделить область, у комиссионных с продаж.
поле. В нашем или такое имяИмя> для диапазона ячеек, и диапазон для
код: только для группировкаи. файл.Размер больше 100kb.»Диспетчер имен» IsError(F) Then FName но разных формул даже представить себе
он работает. ЗаПожалуйста, посмотрите прилагаемый которой есть имя, На рисунке ниже
случае мы выберем
Вас не устраивает,, Вы сможете увидетьДиспетчер имен функции, константы или имени должен быть
Sub NamesAdd() Dim
Пример в приложении. Сейчас выкину часть. = Cell.Cells(, 0).Value для каждого из насколько много аргументов счет полного использования файл: достаточно щелкнуть по
представлена таблица, которая
ячейку D2. введите требуемое Вам все имена, созданные. Затем можно создать, таблицы. Начав использовать вида A1:B10. Если i As String
а там все улиц.Создал выпадающий список On Error Resume листов мне придется вычислять достаточно громоздкой конструкции* На первом полю содержит объем продажЕсли Вас все устраивает,
имя самостоятельно. в данной рабочей изменить, удалить и
имена в книге, цифрами: R1C1:R10C2.
Dim Sh As
просто Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=OFFSET(Улицы!$C$1;MATCH($C3;Улицы!B:B;FALSE)-1;0;COUNTIF(Улицы!$B:$B;$C3);1)
Пришлось ещё и и теперь не Next ActiveSheet.Names.Add FName,2. использование единой и насколько долгим в качестве относительной листе я задаюИмя по месяцам, а смело жмитеВ раскрывающемся списке книге Excel. В найти все имена, вы сможете с
Имена не должны Object Set ShDrMini RAR архиватором сжимать.
знаю, как отредактировать F If Err
формулы на базе окажется процесс в ссылки. коэффициенты линейной зависимостии из раскрывающегося
в ячейке D2ОКОбласть нашем случае это используемые в книге. легкостью обновлять, проверять повторяться(хотя диапазоны для
= ActiveSheet ‘Цикл: Не понял вопроса.Pelena диапазон. = 0 Then ДВССЫЛ() реальном документе…
Большое спасибо за
* а на списка выбрать нужное. хранится процент комиссионных.. Имя будет создано.Вы можете указать
всего лишь одноДополнительные сведения об именах имена и управлять них вполне даже обхода списка дляВаша формула работает: Не вижу
Спасибо! MsgBox «OK.», ,Буду признателен за
=========================UPDATE================================== решение, однако в
втором листе используюДиапазон будет выделен: Наша задача подсчитатьПомимо присвоения имен ячейкам область видимости создаваемого имя, которое мы
в формулах ими. могут). создания имен. Начинает прекрасно. Только яDrMiniЮрий М «СоздатьИмяФормулы» Cell.Formula = другие идеи.Формулу для аргумента виду того, что формулу (свернутую приСуществует несколько способов вставить сколько мы заработали и диапазонам, иногда
имени. Область видимости только что создали.Использование структурированных ссылок вВыделите ячейку.Ну и думаю обходм со второй поначалу в ней
: Сейчас выкину часть: Обычно F Else MsgBox
С.М. можно записать чуть реальная функция значительно помощи диспетчера имен),
имя в формулу за прошедший год. полезно знать, как
– это область,В качестве примера, создадим
формулах таблиц ExcelВведите имя в поле не надо пояснять,
строки For i
запутался. Потом подставил
улиц.
Ctrl+F3 «Ошибка:» & vbCr: Понял свою ошибку короче =ДВССЫЛ(«RC[-1]»;0)Однако, Прикрепленные сложнее примера (содержит вычисляющую свое значение Excel, Вы можете
Для того чтобы подсчитать
присвоить имя константе. где вы сможете формулу, использующую имя
Общие сведения о формулахИмя что ссылки должны = 2 To в свой файлПришлось ещё и. Может и там & Err.Description, vbExclamation, с формулой файлы 20180621 свернутый больше относительных ссылок), в зависимости от использовать любой из наш заработок, необходимо Как это сделать использовать созданное имя.Продажи_по_месяцам в Excel. быть реальными(т.е. упоминаемые Sh.Cells(Rows.Count, 1).End(xlUp).Row ‘Имя и … не RAR архиватором сжимать. аналогично? «СоздатьИмяФормулы» Err.Clear End=Лист1!$C$4*ИНДЕКС($B:$B;СТРОКА())+Лист1!$C$5 аргумент.JPG (23.68 КБ) то предложенное решение указанного рядом (в предложенных ниже: просуммировать объемы продаж Вы можете узнать Если вы укажете. Пусть это будетСоздание и изменение ссылкиНажмите клавишу ВВОД. листы должны существовать). берется из столбца заработало. После этогоbmv98ruslstrike If Else MsgBoxВыход:С.М. оказывается сложнее, чем ячейке слева отВыделите именованный диапазон мышью за весь год, из этого урока.Книга формула, подсчитывающая общую
на ячейкуВыберите диапазон, которому вы Для имен листов,
«А», а ссылка увидел сообщение от: а если вот
: Юрий, спасибо. «Ошибка:» & vbCrЦитатаIKor написал #9:: (имхо) Длинные формулы
создание нескольких одинаковых формулы) значения аргумента и имя подставится а затем полученныйИтак, в данном уроке, то сможете пользоваться сумму продаж заExcel предлагает несколько способов хотите присвоить имя, содержащих пробелы, необходимы из столбца «В»buchlotnik
такДля маководов поправочка:
& «Application.ConvertFormula», vbExclamation,использование однотипных, но лучше создавать на формул для каждого функции. в формулу автоматически. результат умножить на Вы узнали, как
planetaexcel.ru
Диспетчер имен
именем по всей прошедший год: присвоить имя ячейке включая заголовки строк апострофы (1 сообщение ThisWorkbook.Names.Add Sh.Cells(i, 1).Value,
, и стал проверять.200?’200px’:»+(this.scrollHeight+5)+’px’);»>=INDIRECT(ADDRESS(2;MATCH(C3;Улицы!$1:$1;FALSE);1;1;»Улицы»)&»:»& ADDRESS(COUNTA(INDIRECT(«Улицы!C» &MATCH(C3;Улицы!$1:$1);FALSE));MATCH(C3;Улицы!$1:$1;FALSE);1;1);TRUE) Fn+Cmd+F3 «СоздатьИмяФормулы» End If
разных формул для
рабочем листе, а из листов…Подскажите, пожалуйста, можноНачните вводить название имени комиссионные. Наша формула
присвоить имя ячейке книге Excel (на
Как видите, если ячейке или диапазону. Мы
и столбцов. от DEAD MAN: RefersTo:=Sh.Cells(i, 2).Value Next Было близко по
и без именованныхPelena End SubВ ячейке
planetaexcel.ru
Начало имени в Диспетчере имён с цифры. (Формулы/Formulas)
каждого из листовДа, потом копировать вМожет быть у ли создать именованную_формулу
вручную, и оно будет выглядеть следующим или диапазону в всех листах), а или диапазону, на же в рамкахНа вкладке ‘Сотрудники отделов!’$A$1:$D$10). i End Sub решению, как в областей. Это для: Или через меню пишем Имя, а создавать поле «Диапазон» диалога кого-нибудь есть другие с относительными ссылками
отобразится в списке образом:
Excel. Если желаете если конкретный лист которые ссылается формула, данного урока рассмотримФормулыdesmake
Находясь на листе моём варианте но
проверки данных в Вставка — Имя в ячейку справаформулы-функции «Создание Имени».
предложения? без жесткой привязки
автозавершения формул.Такая формула будет вычислять
получить еще больше – то только дать осмысленные имена,
только 2 самыхнажмите кнопку
: Огромнейшее спасибо, все со списком имен поразило то, что столбец D
— Определить — формулу,с Областью [видимости]IKor
С.М. к активному листу?
Вставьте имя из раскрывающегося правильный результат, но информации об именах, в рамках данного
то формула станет распространенных, думаю, чтоСоздать из выделенного работает!!! нажимаем ALT+F8 и всё делается намногоDrMinikavaleriaнаступаем на ячейку — [текущий] Лист.
: Благодарю за Ваш: =Лист1!$C$4*ИНДЕКС(Лист2!$B:$B;СТРОКА())+Лист1!$C$5В рамках примера списка
аргументы, используемые в читайте следующие статьи: листа. Как правило
гораздо понятнее. каждый из нихВ диалоговом окнеWhiteCanine
Выполнить проще и меньше
: Круть. Спасибо работает.: спасибо! и мне с формулой, и———————————————— комментарий.не равно — для использованияИспользовать в формуле ней, не совсемЗнакомство с именами ячеек выбирают область видимости
Чтобы присвоить имя ячейке Вам обязательно пригодится.
Создание имен из выделенного:desmake ограничений. Попробовал заработало.buchlotnik помогло! запускаем макрос.Рекомендую (only) макросОбычно я именно=Лист1!$C$4*ИНДЕКС($B:$B;СТРОКА())+Лист1!$C$5 той же формулы, который находится на очевидны. Чтобы формула и диапазонов в – или диапазону этим Но прежде чем
диапазонаdesmake,: Уважаемый DEAD MAN,bmv98rus: для читаемости дваDrMiniIKor для создания именованных так и поступаю.IKor
не только на вкладке
стала более понятной,
ExcelКнига
excelworld.ru
Загрузить имена в диспетчер имен
способом, проделайте следующие рассматривать способы присвоенияукажите место, содержащеевыложи что получилось, а можно для, Пожалуйста не обижайтесь. именованных сделал:: Доброго времени суток
: Спасибо за предложенное формул на листе:Более того -: Именно об этой втором, но иФормулы
необходимо назначить областям,
5 полезных правил и
. действия: имен в Excel,
заголовки, установив флажок а то у чайника на примере, Я и Ваш200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СМЕЩ(Улицы!$A$2;0;ПОИСКПОЗ(C3;улицы;0);СЧЁТЗ(ИНДЕКС(дома;;ПОИСКПОЗ(C3;улицы;0)));1) всем, кто на решение!Скрытый текст Sub именно на листе проблеме я и на третьем листе.. содержащим данные, описательные рекомендаций по созданиюВ полеВыделите требуемую область (на обратитесь к этому
в строке выше меня никак не как это выглядит вариант обязательно рассмотрю
DrMini форуме.Но я боюсь, СоздатьИмяФормулыОбластьЛист() Rem: в я готовлю заготовку пишу: при использовании
В тоже время,Итак, в данном уроке имена. Например, назначим имен в ExcelПримечание
данном этапе можно уроку, чтобы запомнить
в столбце слева хочет. в живом файле?
и применю если:Есть выпадающий список как бы лекарство
ActiveCell — формула, для источника данных Диспетчера имен MS
если не использовать Вы узнали, что
диапазону B2:В13 имяДиспетчер имен в ExcelВы можете ввести
выделить любую область, несколько простых, но
,Получилось! Нужно, чтоDEAD MAN не в этомМихаил через не оказалось бы в ячейке слева
именованного диапазона и Excel добавляет ко диспетчер имен, то такое имена ячеек
Продажи_по_месяцамКак присваивать имена константам пояснение к создаваемому в дальнейшем вы полезных правил пов строке ниже бы вторая ячейка: На работе заблокирована задании, то в, Спасибо и за
диспетчер имён горше болезни… — ИмяФормулы. Dim
в этом случае. всем ссылкам (и относительные ссылки прекрасно и диапазонов в, а ячейке В4 в Excel? имени. В ряде
сможете ее перезадать). созданию имени.или
planetaexcel.ru
не была пустой
Вывод списка имён (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):
- 29038 просмотров
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
Skip to content
Как создать и выбрать именованный диапазон
На чтение 2 мин. Просмотров 4.2k.
Одной из наиболее полезных функций в Excel является возможность дать диапазону имя, таким образом, чтобы можно было легко идентифицировать и обратиться к нему с помощью VBA.
Вот шаги, которые нужно выполнить, чтобы создать диапазон вручную:
- Выберите диапазон, который вы хотите назвать.
- Перейдите на вкладку Формулы в ленте и выберите команду Определить имя.
- Дайте выбранному диапазону удобное для пользователя имя в диалоговом окне «Новое имя».
После нажатия кнопки ОК, ваш диапазон именуется. Чтобы убедиться в этом, вы можете перейти на вкладку Формулы и выбрать команду Диспетчер имен. Это активизирует диалоговое окно Диспетчер имен , где вы можете увидеть все примененные именованные диапазоны.
Создание именованного диапазона с помощью VBA является менее трудоемким.
Содержание
- Код макроса
- Как этот код работает
- Как макрос работает
- Код макроса
- Как этот код работает
- Код макроса
- Как использовать
Код макроса
Sub PrisvaivaemImyaDiapazonu() 'Присваиваем имя диапазону Range("D6:D17").Name = "MyData" End Sub
Как этот код работает
Следует признать, что трудно найти такую ситуацию, когда вам нужно было бы автоматизировать создание именованных диапазонов. Реальная эффективность достигается в манипулировании их с помощью VBA.
Как макрос работает
Вы просто передаете имя диапазона с помощью объекта Range. Этот макрос позволяет выбрать диапазон:
Код макроса
Sub ViborDiapazona() Range("MyData").Select End Sub
Как этот код работает
Как и в случае нормальных диапазонов, вы можете обратиться к диапазону с помощью оператора With … End With. Этот оператор говорит Excel, что любое действие, которое вы выполняете относится к объекту, который вы указали. Это не только избавит вас от необходимости повторять синтаксис, но и позволит легко добавлять действия, просто добавляя их между With и End With.
Код макроса
Sub ViborDiapazonaFormatirovanieWith() With Range("MyData") .NumberFormat = "#,##0" .Font.Bold = True .Interior.ColorIndex = 36 End With End Sub
Как использовать
Для реализации такого рода макроса, вы можете скопировать и вставить его в стандартный модуль:
- Активируйте редактор Visual Basic, нажав ALT + F11.
- Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
- Выберите Insert➜Module.
- Введите или вставьте код
Хитрости »
1 Май 2011 195498 просмотров
Именованные диапазоны
- Общие сведения об именованных диапазонах
- Как обратиться к именованному диапазону(как использовать в формулах и VBA)
- Ограничения для именованных диапазонов
- Создание именованного диапазона
- Изменение именованного диапазона
- Удаление именованного диапазона
Для чего вообще нужны именованные диапазоны? Обращение к именованному диапазону гораздо удобнее, чем прописывание адреса в формулах и VBA:
- Предположим, что в формуле мы ссылаемся на диапазон A1:C10 (возможно даже не один раз). Для примера возьмем простую функцию СУММ(суммирует значения указанных ячеек):
=СУММ(A1:C10;F1:K10)
Затем нам стало необходимо суммировать другие данные(скажем вместо диапазона A1:C10 в диапазоне D2:F11). В случае с обычным указанием диапазона нам придется искать все свои формулы и менять там адрес диапазона на новый. Но если назначить своему диапазону A1:C10 имя(к примеру ДиапазонСумм), то в формуле ничего менять не придется — достаточно будет просто изменить ссылку на ячейки в самом имени один раз. Я привел пример с одной формулой — а что, если таких формул 10? 30?
Примерно такая же ситуация и с использованием в кодах: указав имя диапазона один раз не придется каждый раз при изменении и перемещении этого диапазона прописывать его заново в коде. - Именованный диапазон не просто так называется именованным. Если взять пример выше — то отображение в формуле названия ДиапазонСумм куда нагляднее, чем A1:C10. В сложных формулах куда проще будет ориентироваться по именам, чем по адресам. Почему удобнее: если сменить стиль отображения ссылок (подробнее про стиль), то диапазон A1:C10 будет выглядеть как-то вроде этого: R1C1:R10C3. А если назначить имя — то оно как было ДиапазонСумм, так им и останется.
- При вводе формулы/функции в ячейку, можно не искать нужный диапазон, а начать вводить лишь первые буквы его имени и Excel предложит его ко вводу:
Данный метод доступен лишь в версиях Excel 2007 и выше
Как обратиться к именованному диапазону
Обращение к именованному диапазону из VBA
MsgBox Range("ДиапазонСумм").Address
MsgBox [ДиапазонСумм].Address
Читать подробнее про обращение к диапазонам из VBA
Обращение к именованному диапазону в формулах/функциях
- =СУММ(ДиапазонСумм)
- =ВПР(«Критерий»;ДиапазонСумм;2;0)
Читать подробнее про функцию ВПР
Если при указании диапазона в формуле выделить именованный диапазон, то его имя автоматически подставится в формулу вместо фактического адреса ячеек:
Ограничения, накладываемые на создание имен
- В качестве имени диапазона не могут быть использованы словосочетания, содержащие пробел. Вместо него лучше использовать нижнее подчеркивание _ или точку: Name_1, Name.1
- Первым символом имени должна быть буква, знак подчеркивания (_) или обратная косая черта (). Остальные символы имени могут быть буквами, цифрами, точками и знаками подчеркивания
- Нельзя в качестве имени использовать зарезервированные в Excel константы — R, C и RC(как прописные, так и строчные). Связано с тем, что данные буквы используются самим Excel для адресации ячеек при использовании стиля ссылок R1C1 (читать подробнее про стили ссылок)
- Нельзя давать именам названия, совпадающие с адресацией ячеек: B$100, D2(для стиля ссылок А1) или R1C1, R7(для стиля R1C1). И хотя при включенном стиле ссылок R1C1 допускается дать имени название вроде A1 или D130 — это не рекомендуется делать, т.к. если впоследствии стиль отображения ссылок для книги будет изменен — то Excel не примет такие имена и предложит их изменить. И придется изменять названия всех подобных имен. Если очень хочется — можно просто добавить нижнее подчеркивание к имени: _A1
- Длина имени не может превышать 255 символов
Создание именованного диапазона
Способ первый
обычно при создании простого именованного диапазона я использую именно его. Выделяем ячейку или группу ячеек, имя которым хотим присвоить -щелкаем левой кнопкой мыши в окне адреса и вписываем имя, которое хотим присвоить. Жмем Enter:
Способ второй
Выделяем ячейку или группу ячеек. Жмем правую кнопку мыши для вызова контекстного меню ячеек. Выбираем пункт:
- Excel 2007: Имя диапазона (Range Name)
- Excel 2010: Присвоить имя (Define Name)
либо:
Жмем Ctrl+F3
либо:
- 2007-2016 Excel: вкладка Формулы (Formulas) —Диспетчер имен (Name Manager) —Создать (New)(либо на той же вкладке сразу — Присвоить имя (Define Name))
- 2003 Excel: Вставка —Имя —Присвоить
Появляется окно создания имени
Имя (Name) — указывается имя диапазона. Необходимо учитывать ограничения для имен, которые я описывал в начале статьи.
Область (Scope) — указывается область действия создаваемого диапазона — Книга, либо Лист1:
- Лист1 (Sheet1) — созданный именованный диапазон будет доступен только из указанного листа. Это позволяет указать разные диапазоны для разных листов, но указав одно и тоже имя диапазона
- Книга (Workbook) — созданный диапазон можно будет использовать из любого листа данной книги
Примечание (Comment) — здесь можно записать пометку о созданном диапазоне, например для каких целей планируется его использовать. Позже эту информацию можно будет увидеть из диспетчера имен (Ctrl+F3)
Диапазон (Refers to) — при данном способе создания в этом поле автоматически проставляется адрес выделенного ранее диапазона. Его можно при необходимости тут же изменить.
Изменение диапазона
Чтобы изменить имя Именованного диапазона, либо ссылку на него необходимо всего лишь вызывать диспетчер имен(Ctrl+F3), выбрать нужное имя и нажать кнопку Изменить(Edit…).
Изменить можно имя диапазона(Name), ссылку(RefersTo) и Примечание(Comment). Область действия(Scope) изменить нельзя, для этого придется удалить текущее имя и создать новое, с новой областью действия.
Удаление диапазона
Чтобы удалить Именованный диапазон необходимо вызывать диспетчер имен(Ctrl+F3), выбрать нужное имя и нажать кнопку Удалить(Delete…).
Так же можно создавать списки с автоматическим определением его размера. Например, если значения в списке периодически пополняются или удаляются и чтобы каждый раз не переопределять границы таких диапазонов. Такие диапазоны называют динамическими.
Так же см.:
Как обратиться к диапазону из VBA
Динамические именованные диапазоны
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика