Именованный диапазон в EXCEL
Обычно ссылки на диапазоны ячеек вводятся непосредственно в формулы, например =СУММ(А1:А10) . Другим подходом является использование в качестве ссылки имени диапазона. В статье рассмотрим какие преимущества дает использование имени.
Назовем Именованным диапазоном в MS EXCEL, диапазон ячеек, которому присвоено Имя (советуем перед прочтением этой статьи ознакомиться с правилами создания Имен ).
Преимуществом именованного диапазона является его информативность. Сравним две записи одной формулы для суммирования, например, объемов продаж: =СУММ($B$2:$B$10) и =СУММ(Продажи) . Хотя формулы вернут один и тот же результат (если, конечно, диапазону B2:B10 присвоено имя Продажи ), но иногда проще работать не напрямую с диапазонами, а с их именами.
Совет : Узнать на какой диапазон ячеек ссылается Имя можно через Диспетчер имен расположенный в меню Формулы/ Определенные имена/ Диспетчер имен .
Ниже рассмотрим как присваивать имя диапазонам. Оказывается, что диапазону ячеек можно присвоить имя по разному: используя абсолютную или смешанную адресацию .
Excel: именованный диапазон с VBA — CodeRoad
- выделите, диапазон B2:B10 на листе 1сезон ;
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя ;
- в поле Имя введите: Продажи ;
- в поле Область выберите лист 1сезон (имя будет работать только на этом листе) или оставьте значение Книга , чтобы имя было доступно на любом листе книги;
- убедитесь, что в поле Диапазон введена формула =’1сезон’!$B$2:$B$10
- нажмите ОК.
На самом деле не уверен, это конструктивная особенность или ошибка. Используя относительные ссылки (A1 вместо $A200) при определении именованного диапазона, они не остаются на том же месте, как бы вы этого не хотели. Давайте рассмотрим этот случай на примере. Предположим, вы хотите создать диапазон, который смещается вниз на 10 строк от ячейки A1. Первое, что приходит в голову, это написать формулу =СМЕЩ(A1;10;0).
Определение нижней и верхней границы массива
Чтобы узнать какой самый наименьший индекс у массива и какой самый максимальный индекс массива, нужно использовать функции LBound для определения нижней границы и UBound для определения верхней границы.
Пример 5. Определение границ массива
Чтобы определить границы многомерных массивов, нужно просто использовать второй параметр функций UBound и LBound.
Как работать с Excel через VBA или объектная модель Excel
Мы использовали смешанную адресацию B500:B$10 (без знака $ перед названием столбца). Такая адресация позволяет суммировать значения находящиеся в строках 2 , 3 ,… 10 , в том столбце, в котором размещена формула суммирования. Формулу суммирования можно разместить в любой строке ниже десятой (иначе возникнет циклическая ссылка).
Объекты и коллекции объектов
Давайте посмотрим, как обращаться к конкретным элементам коллекции в коде VBA.
Мы можем указать порядковый номер (начиная с единицы) элемента в коллекции. Worksheets(3) — в этом случае мы обращаемся к 3-му листу книги.
Мы также можем указать название листа в кавычках Worksheets(«Название листа»).
Аналогичным образом можно обратиться к конкретной книге Workbook(«Названием книги»).
Чтобы обратиться к объекту Excel (к листу, или ячейке) необходимо указать ссылку на этот объект, перечислив полный путь к нему в соответствии с объектной моделью.
Например, для ячейки A1 полная ссылка будет выглядеть следующим образом:
На самом деле полный путь писать не обязательно. Application — можно практически всегда не указывать. Workbooks(«Название книги») — можно не указывать, если необходимо обратиться к ячейке из активной книги, а Worksheets(«Название листа») можно не писать в случае если код должен выполнять действия на активном листе. Т.е. в можно упростить до:
Но всегда имейте ввиду, что это будет ячейка на активном листе.
Создаем именованные диапазоны в Excel — Excel — это просто!
EDIT: Если вы настраиваете именованные диапазоны для динамического изменения, то вам не нужен VBA. Введите это непосредственно в именованный диапазон в Excel и оставьте его для автоматической настройки автоматически между E2 и любым последним элементом (при условии отсутствия пробелов). =$E500:INDEX($E500:$E$5000,COUNTA($E500:$E$5000)) (Расширьте 5000, если вам нужно больше строк)
Вам также могут быть интересны следующие статьи
Подскажите, а использование именованных диапазонов влияет на размер файла? Если использовать имена это влияет на производительность формул? Спасибо.
Здравствуйте, Ренат! Очень интересная диаграмма, даже при том, что и не классический тримап. Скажите, а можно построить подобную диаграмму так, чтобы её составляющие были положительные и отрицательные. Чтобы их размер зависел, насколько далеко их значение от 0, а располагались они справа и слева от оси, в зависимости от знака? Была бы очень интересная диаграмма весов.
Основы программирования на языке VBA » Методические указания и задания
Отметим, что точка после имени объекта может использоваться для перехода от одного объекта к другому. Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет: