- Общие сведения об именованных диапазонах
- Как обратиться к именованному диапазону(как использовать в формулах и VBA)
- Ограничения для именованных диапазонов
- Создание именованного диапазона
- Изменение именованного диапазона
- Удаление именованного диапазона
Для чего вообще нужны именованные диапазоны? Обращение к именованному диапазону гораздо удобнее, чем прописывание адреса в формулах и VBA:
- Предположим, что в формуле мы ссылаемся на диапазон
(возможно даже не один раз). Для примера возьмем простую функцию СУММ(суммирует значения указанных ячеек):A1:C10
=СУММ( A1:C10 ;F1:K10 )
Затем нам стало необходимо суммировать другие данные(скажем вместо диапазона в диапазоне D2:F11). В случае с обычным указанием диапазона нам придется искать все свои формулы и менять там адрес диапазона на новый. Но если назначить своему диапазонуA1:C10 имя(к примеруA1:C10 ), то в формуле ничего менять не придется — достаточно будет просто изменить ссылку на ячейки в самом имени один раз. Я привел пример с одной формулой — а что, если таких формул 10? 30?ДиапазонСумм
Примерно такая же ситуация и с использованием в кодах: указав имя диапазона один раз не придется каждый раз при изменении и перемещении этого диапазона прописывать его заново в коде. - Именованный диапазон не просто так называется именованным. Если взять пример выше — то отображение в формуле названия
куда нагляднее, чемДиапазонСумм . В сложных формулах куда проще будет ориентироваться по именам, чем по адресам. Почему удобнее: если сменить стиль отображения ссылок (подробнее про стиль), то диапазонA1:C10 будет выглядеть как-то вроде этого:A1:C10 . А если назначить имя — то оно как былоR1C1:R10C3 , так им и останется.ДиапазонСумм - При вводе формулы/функции в ячейку, можно не искать нужный диапазон, а начать вводить лишь первые буквы его имени и Excel предложит его ко вводу:
Данный метод доступен лишь в версиях Excel 2007 и выше
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)
Жмем
- 2007-2016 Excel: вкладка Формулы
(Formulas) —Диспетчер имен(Name Manager) —Создать(New) (либо на той же вкладке сразу — Присвоить имя(Define Name) ) - 2003 Excel: Вставка —Имя —Присвоить
Появляется окно создания имени
Имя
Область
- Лист1
(Sheet1) — созданный именованный диапазон будет доступен только из указанного листа. Это позволяет указать разные диапазоны для разных листов, но указав одно и тоже имя диапазона - Книга
(Workbook) — созданный диапазон можно будет использовать из любого листа данной книги
Примечание
Диапазон
Чтобы изменить имя Именованного диапазона, либо ссылку на него необходимо всего лишь вызывать диспетчер имен(
Изменить можно имя диапазона
Чтобы удалить Именованный диапазон необходимо вызывать диспетчер имен(
Так же можно создавать списки с автоматическим определением его размера. Например, если значения в списке периодически пополняются или удаляются и чтобы каждый раз не переопределять границы таких диапазонов. Такие диапазоны называют динамическими.
Так же см.:
Как обратиться к диапазону из VBA
Динамические именованные диапазоны
У Вас переменная test объявлена As Integer. Т.е. целое число. А .Value у имен хранится в текстовом виде, при этом уверен, что перед 1 у Вас равно: =»1″. Правильно? Значит это равно надо убирать: