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

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

Вопрос. Почему Range не является коллекцией?

Ответ. Одним из основных признаков коллекции является возможность добавления новых элементов в коллекцию. Число ячеек (т.е. диапазонов) в рабочем листе предопределено Microsoft и не может быть изменено пользователем. Поэтому Range не является коллекцией.

Вопрос. Чем оператор цикла For отличается от оператора For Each?

Ответ. Давайте сначала посмотрим, что между ними общего. Оба эти оператора выполняют определенную последовательность операторов несколько раз. Но от чего зависит, сколько раз они выполнят эту последовательность операторов? Число выполнений цикла For зависит от заданных начального и конечного значений счетчика цикла. Число выполнений операторов, заданных в операторе For Each, зависит только от числа объектов или количества элементов массива.

Практикум

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

Тесты

  1. Истинно или ложно следующее утверждение: в VBA диапазон всегда состоит из многих ячеек?

  2. Какое свойство объекта Range позволяет определить адрес одного диапазона на основе адреса другого?

  3. Если необходимо изменить значения всех ячеек диапазона, то какой оператор, требующий минимального кода, следует применить?

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

  5. Как определить, какое количество ячеек составляют диапазон?

  6. Какой метод применяется для удаления содержимого диапазона?

  7. Необходимо установить значения нескольких свойств определенного объекта. Как наиболее эффективно это сделать?

Упражнение

Откройте новую рабочую книгу. Введите следующие значения в первый лист рабочей книги.

Ячейки

Значения

А1

Товар

А2:А6

Названия каких-либо товаров1

В1

Цена

В2

15

B3

5

В4

3

В5

7

В6

9

Создайте процедуру с именем СнижениеЦен. Процедура должна уменьшить значения всех ячеек из диапазона В2:В6 на 5. Если цена будет меньше или равна нулю, выделите ее и название товара красным полужирным шрифтом. Также в этом случае (цена меньше или равна нулю) процедура должна вывести окно сообщения с соответствующим текстом предупреждения. Выполните процедуру.

1 Если ничего интересного не приходит в голову, ведите просто Товар 1, Товар 2 и т.д. - Прим. ред.

11-й час. Редактор Visual Basic

Теперь, когда вы знакомы со многими синтаксическими структурами языка VBA, пришло время поближе познакомиться с редактором Visual Basic. Его многочисленные средства позволяют быстро и легко вводить и редактировать любой код программ. В этом часе основное внимание будет уделено именно таким средствам редактора, включая панели инструментов, справочную систему и окно просмотра объектов Object Browser.

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

  • Панели инструментов редактора Visual Basic.

  • Просмотр кода процедур.

  • Получение сведений из справочной системы.

  • Как и для чего можно использовать окно просмотра объектов Object Browser.

  • Параметры среды редактора Visual Basic.