Vba Excel Получить Адрес Именованного Диапазона • Как обратиться к ячейке

Работа с ячейками — объект Range

Аннотация: Лекция посвящена описанию объектной модели MS Excel, относящейся к ячейкам — объект Range.

15.1. Как обратиться к ячейке

Мы добрались до ячеек, работа с которыми осуществляется, в основном, через объект типа Range . Выше мы немного работали с ячейками , а теперь рассмотрим их наиболее интересные методы и свойства.

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

Можно адресовать ячейку или диапазон ячеек , указав их адреса в стиле A1 . Здесь и далее мы используем метод Select объекта Range , который выделяет ячейки (листинг 15.1.)

Для обращения к диапазону ячеек нужно знать верхнюю левую и нижнюю правую границы диапазона. Например, для обращения к диапазону высотой в одну строку от A2 до E2 или к диапазону A2:E4 — понадобится такой код (листинг 15.2.)

Можно воспользоваться конструкцией с использованием объекта Cells , который позволяет обращаться к отдельной ячейке по ее индексу в формате R1C1 . Чтобы обратиться к ячейке A5 таким способом, нужно заметить, что она расположена в пятой строке и первом столбце (листинг 15.3.):

Можно объединить использование Range и Cells , указав координаты ячеек при адресации диапазона с помощью Cells (листинг 15.4.).

Нам уже встречалось использование Cells для доступа к группам ячеек в цикле — в качестве индексов ячеек можно использовать переменные (листинг 15.5.)

Объект Selection — это еще один способ работы с ячейками , однако он используется сравнительно редко, так как к ячейкам удобнее обращаться по их именам.

Выше мы использовали прямое обращение к ячейкам активного листа, без использования объектных переменных .)

Помимо обращения к отдельным ячейкам или их диапазонам, Excel предусматривает возможность обращения к строкам и столбцам, а так же — к листу целиком.

В листинге 15.7 мы сначала выделяем столбец A , потом столбец B , используя коллекцию Columns (столбцы), 3-ю строку, используя коллекцию Rows (строки) а далее — лист целиком.

Еще один способ обращения к ячейкам — применение именованных диапазонов (коллекция Names ) мы рассмотрим ниже. А теперь поговорим о методах и свойствах объекта Range .

15.2. Методы Range

15.2.1. Activate — активация ячейки

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

15.2.2. AddComment — добавляем комментарии к ячейкам

Позволяет добавлять комментарии к ячейкам . Если вы формируете какой-нибудь Excel-документ программно, вы можете добавить в некоторые ячейки комментарии для пояснения данных, которые в них хранятся. В листинге 15.9. мы добавляем комментарий к ячейке C3.

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

15.2.3. AutoFit — автонастройка ширины столбцов и высоты строк

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

Метод можно применять как к диапазону, так и к отдельным строкам или столбцам.

Например, код в листинге 15.10. позволяет автоматически подобрать ширину столбцов A, B, C, D, E, руководствуясь данными, расположенными в первой строке этих столбцов. Если в других строках столбцов будут более длинные значения — они не будут приняты во внимание.

Мы не случайно обращаемся здесь к свойству Columns объекта Range — иначе метод AutoFit не работает. Если же в подобном вызове не задавать конкретной строки, а выполнить эту команду так (листинг 15.11.), то ширина столбцов A — E будет подстроена таким образом, чтобы наилучшим образом вместить самое длинное из значений, хранящихся в ячейках , принадлежащих столбцам.

Метод Clear позволяет очистить диапазон — он удаляет данные и форматирование из ячеек. Например, в листинге 15.12. мы очищаем от форматирования сначала диапазон A1:E5, а потом — весь лист.

Другие методы, название которых начинается с Clear , позволяют очищать ячейки от соответствующих им объектов.

ClearContents очищает содержимое ячеек, не затрагивая форматирование. Если вы выделите ячейки и нажмете клавишу Del на клавиатуре — вы добъетесь того же эффекта.

ClearFormats очищает лишь форматирование ячеек, не затрагивая содержимого.

15.2.5. Copy, Cut, PasteSpecial — буфер обмена

Выше мы уже рассматривали команды для работы с буфером обмена в MS Excel . Метод Copy копирует содержимое диапазона в буфер обмена, Cut — вырезает, PasteSpecial осуществляет специальную вставку.

Как ни странно, объект Range не поддерживает метод Paste , осуществляющий обычную вставку, однако, этот метод поддерживает объект Worksheet .

15.2.6. Delete — удалить диапазон

Удаляет выделенный диапазон — остальные ячейки сдвигаются, занимая его место.

15.2.7. Merge, UnMerge — объединение ячеек

Merge позволяет создать одну объединенную ячейку из заданного диапазона.

UnMerge разбивает объединенную ячейку на обычные ячейки .

Объединенные ячейки удобно использовать для хранения в них названий таблиц.

15.2.8. Select — выделение ячейки

Выделяет ячейки или ячейку . Выделив ячейку , к ней можно обращаться, используя объект Selection . Так же этот объект можно использовать для работы с ячейками , предварительно выделенными пользователями.

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

[expert_bq id=»1570″]Если рабочий лист содержит именованные диапазоны, VBA объекты Range могут опираться на них, как показано в следующем примере. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Использование констант внешних объектов Для того чтобы в сценарии обращаться по имени к константам, определенным во внешних объектах, не создавая экземпляров самих объектов, необходимо сначала получить ссылку на эти объекты с помощью элемента <reference>.В листинге 3.10
Excel Mac 2011 Name Manager

Указать адрес ячейки Vba

Преимуществом именованного диапазона является его информативность. Сравним две записи одной формулы для суммирования, например, объемов продаж: =СУММ($B500:$B$10) и =СУММ(Продажи) . Хотя формулы вернут один и тот же результат (если, конечно, диапазону B2:B10 присвоено имя Продажи ), но иногда проще работать не напрямую с диапазонами, а с их именами.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: