Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
26
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

Вопросы и ответы

Вопрос. Неужели для программирования в VBA необходимо изучить все объекты Excel?

Ответ. Нет, обычно для создания законченного приложения достаточно знать около 20 объектов. Если возникнет необходимость работы с незнакомыми для вас объектами, есть два выхода: справочная система Visual Basic и запись макросов.

Вопрос. Почему Excel в VBA трактуется как приложение?

Ответ. Доступ к некоторым установкам и параметрам среды Excel можно получить только в том случае, если рассматривать Excel как "цельное" приложение. Эти и некоторые другие причины приводят к тому, что в VBA Excel выделяется в отдельный объект Application.

Вопрос. Почему метод Add используется и для создания новой рабочей книги, и для вставки нового листа в книгу?

Ответ. Этот метод универсальный, так как его назначение - добавлять новые элементы в коллекцию. Обратите внимание, что объект Workbook является элементом коллекции Workbooks, а объект Worksheet - коллекции Worksheets. Надеюсь, теперь понятно, почему для создания новых рабочих книг и листов применяется метод Add.

Практикум

С помощью тестов и упражнений вы проверите, насколько хорошо усвоили изложенный материал. Ответы на вопросы смотрите в Приложении.

Тесты

  1. Как в VBA применить функцию МАХ для нахождения максимального значения из диапазона ячеек А1:С5?

  2. Какой объект находится на высшем уровне иерархии объектов?

  3. Какой метод применяется для создания новых рабочих книг и рабочих листов?

  4. Как в VBA удалить рабочий лист из рабочей книги?

  5. Истинно или ложно следующее утверждение: из процедуры VBA нельзя вызывать на исполнение макросы, записанные в стиле Excel 4.0?

Упражнение

Создайте новую процедуру УпрЧас9, которая должна выполнить следующие действия:

  • создать новую рабочую книгу;

  • вставить в эту книгу новый рабочий лист;

  • дать новому рабочему листу ваше имя;

  • сохранить рабочую книгу под именем УпрЧас9.

Выполните процедуру. Откройте рабочую книгу УпрЧас9 и введите несколько значений в рабочий лист с вашим именем. Создайте новую процедуру с именем СохрЧас9. Эта процедура должна определить, сохранена ли рабочая книга после внесения в нее изменений. Если книга была сохранена, то должно выводиться окно с соответствующим сообщением. Выполните эту процедуру.

10-й час. Объект Range

Объект Range (Диапазон), по всей видимости, наиболее часто используемый в процедурах VBA объект Excel. Так же, как и пользователи Excel в основном работают с ячейками и диапазонами, так и у программистов VBA больше всего времени уходит на работу с объектом Range (наряду с созданием интерфейса приложения). В этом часе мы изучим различные методы работы с диапазонами.

В этом часе будут рассмотрены следующие вопросы.

  • Роль объекта Range в VBA.

  • Использование оператора With.

  • Использование оператора For Each.

  • Анализ процедур, использующих оператор Range.

Описание объекта Range

Поскольку вы создаете приложение для Excel, то естественно ваше внимание к ячейкам рабочего листа. В VBA ячейки трактуются как объект Range. Среди всех объектов Excel этот объект используется наиболее часто. Поэтому текущий час будет полностью посвящен объекту Range.

В качестве объекта Range могут выступать:

  • отдельная ячейка;

  • выделенный диапазон ячеек;

  • несколько выделенных диапазонов ячеек (т.е. совокупность несмежных диапазонов);

  • строка и столбец;

  • трехмерный диапазон (т.е. состоящий из диапазонов, расположенных на разных рабочих листах).