Глава 16. VBA-программирование в Excel.
Глава 16. VBA-программирование в Excel.
В этой главе ...
~ Что такое объектная модель Excel
~ Управление ячейками с использованием объектов диапазонов
~ Создание собственных функций для использования в формулах рабочих листов
~ Использование встроенных функций Excel в VBA-коле
~ Работа с событиями Excel
Каждого, кто когда-либо писал формулы рабочих листов, можно считать в некотором роде программистом; поэтому не следует относиться к VBA, как к чему-то запредельному. Скорее всего, после некоторой работы с редактором Visual Basic вы обнаружите, что писать VBA-код, на самом деле, удобнее, чем составлять формулы непосредственно в рабочем листе; VBA предоставляет больший простор для деятельности в окне редактирования кода и позволяет вносить комментарии, что бывает очень полезным.
Кроме того, VBA может служить мощным инструментом для создания настраиваемых приложений, базирующихся на таблицах, способных выполнять вычисления и форматирования, которые без них просто не реальны. Но прежде чем стать профессионалом в использовании кодов Excel, чему способствует представленный ниже материал, следует ознакомиться с основами VBA, которые даются в первых трех разделах.
Знакомство с объектной моделью Excel
Прежде чем приступить к написанию VBA-кода для Excel, необходимо составить представление об иерархии объектов Excel и о том. как определять их в написанном коде. В самом верху иерархии находится объект Application (Приложение), отвечающий за функционирование всей программы Excel.
Для увеличения скорости работы многих VBA-программ следует отключить обновление экрана. По умолчанию Excel отображает каждое изменение в рабочей книге, сделанное в ходе выполнения VBA-кода. Это приводит к существенному снижению быстродействия. Для отключения такого режима работы Excel необходимо воспользоваться функцией ScreenUpdating (Обновление экрана) объекта Application:
Application . ScreenUpriatirig = False
Не забудьте в конце процедуры восстановить значение True для свойства ScreenUpdating, в противном случае пользователь не сможет увидеть на экране полученный результат.
При использовании свойства Screer.Upcating необходимо явно указывать имя объекта Application. Однако в большинстве случаев свойства объекта Application можно использовать напрямую. Например, свойство ActiveSheet объекта Application относится к рабочему листу или диаграмме, активной в текущий момент (безусловно, в книге, активной сейчас). Для обращения в коде к такому листу вместо записи Application .ActiveSheet можно использовать просто ActiveSheet. Коллекция Workbooks объекта Application содержит все рабочие книги, открытые в данный момент.
Для идентификации определенной рабочей книги используйте ее имя, заключенное в кавычки. Вот пример активизации отдельной рабочей книги:
Workbooks("Сводная статистика продаж.xls").Activate
Конечно же, рабочие листы также являются полноправными объектами. Они принадлежат коллекции Worksheets, и их идентификация должна проводиться таким же образом. Выражение Worksheets ( "ЛистЗ" ) указывает на лист с именем ЛистЗ. Аналогично, отдельный объект Chart для диаграммы, находящейся на отдельном листе, является членом коллекции Charts. Обращение к ней выполняется с помощью выражения вроде Charts ("Parts Chart") . Приемы работы с диаграммами, внедренными в рабочий лист, несколько отличаются, и приемы написания кода для них являются объектом рассмотрения данной книги.
Отображение рабочих книг можно изменить с помощью объектов Window (Окно). Объекты Window, которые иногда используются и для изменения содержимого рабочей книги, являются членами коллекции Windows объекта Application. Ссылка на окно осуществляется указанием в качестве индекса в коллекции Windows имени файла, содержащего рабочую книгу:
Windows("Кривая продаж игрушек.xls")
Если для одной рабочей книги открыто несколько окон, необходимо после имени рабочей книги через двоеточие указать номер окна, например: Windows ("Кривая продаж иг ру ше к.x l s:2").
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 8 Знакомство с программой Excel
Глава 8 Знакомство с программой Excel Тема данной главы – краткие сведения из истории развития табличных процессоров, а также знакомство с внешним видом и основными приемами работы в программе Excel.• Немного истории• Загрузка и интерфейс программы• Рабочее поле
Глава 11 Примеры использования программы Excel
Глава 11 Примеры использования программы Excel В предыдущих главах описывались многочисленные приемы работы в программах Excel и Word. Теперь попытаемся применить свои знания. В данной главе мы рассмотрим примеры использования программы Excel в бухгалтерской практике, а также
Глава 2 Табличный редактор Microsoft Excel
Глава 2 Табличный редактор Microsoft Excel Первые шаги Вводим и редактируем данные в ячейках Работа с ячейками Работа с листами Форматирование ячеек Формат чисел Проведение расчетов Решим-ка задачку Ошибки в формулах Строим диаграмму Сортировка, фильтрация и поиск Excel –
Программирование событий excel
Программирование событий excel Реакция на вносимые пользователем изменения стала неотъемлемой частью функционирования электронных таблиц, поэтому написание кода для событий в Excel часто играет более значимую роль, нежели в остальных приложениях пакета Office. Изменение
Глава 3 Табличный редактор Microsoft Excel 2007
Глава 3 Табличный редактор Microsoft Excel 2007 Табличный редактор Excel по своей популярности уступает, пожалуй, лишь текстовому редактору Word. В данной главе мы рассмотрим основополагающие аспекты использования последней версии приложения – Excel 2007: описание пользовательского
Глава 1 Интерфейс Excel 2007 и работа с документами
Глава 1 Интерфейс Excel 2007 и работа с документами Что же такое Excel и зачем нужна эта программа Excel – это мощнейший вычислительный инструмент, хранилище упорядоченных данных, средство для создания различных графиков, расписаний, диаграмм и т. д. Программа Excel может частично
Глава 10 Создание графики в Excel
Глава 10 Создание графики в Excel В предыдущей главе мы рассмотрели работу с графическими изображениями, добавляемыми на лист книги Excel. В программе Excel, как и в некоторых других приложениях пакета Microsoft Office, предусмотрено также создание простых графических изображений
Глава 13 Превосходный Excel
Глава 13 Превосходный Excel Нескромное название этой программы (excel переводится с английского как «превосходить») соответствует ее возможностям и назначению. Microsoft Excel принадлежит к разряду компьютерных программ с обозначением «электронные таблицы» и наряду с текстовым
Глава 6 Табличный процессор Microsoft Excel
Глава 6 Табличный процессор Microsoft Excel 6.1. Рабочая книга и листы Общие сведенияКнига в Microsoft Excel представляет собой файл, используемый для обработки и хранения данных. Каждая книга может состоять из нескольких листов, поэтому в одном файле можно поместить разнообразные
Глава 14 МS Excel: работаем с электронными таблицами
Глава 14 МS Excel: работаем с электронными таблицами 14.1. Что такое электронная таблица Что же такое электронная таблица? Как и обычная таблица, электронная состоит из ячеек, которые находятся на пересечении строчек и колонок, из которых формируется сама таблица. Ячейка
Глава 6 Microsoft Excel. Сам все считает
Глава 6 Microsoft Excel. Сам все считает Вы считаете меня дураком? Видимо, в Ваши расчеты вкралась ошибка. Из письма Лейбница Ньютону Краткое содержание• Как это выглядит• Прайс-лист своими руками• Бороться, искать, найти и отфильтровать• Строка формул – это и есть
Глава 4 Microsoft Excel, или Как считать на компьютере
Глава 4 Microsoft Excel, или Как считать на компьютере • Для чего нужен табличный процессор?• Начало работы• Листы• Постановка задачи «Кошелек»• Редактирование Книги Excel• Формулы• Тестирование программного продукта• Заключение• Кое-что для любознательныхПока Джон
Глава 6 Расчеты в программе Excel
Глава 6 Расчеты в программе Excel ? Урок 6.1. Знакомство с программой Excel? Урок 6.2. Работа с ячейками, диапазонами и листами? Урок 6.3. Простые расчеты в Excel? Урок 6.4. Расчеты с использованием функций и имен ячеек? Урок 6.5. Форматирование таблиц? Урок 6.6. Диаграммы и графики? Урок 6.7.