Вопрос. Почему Range не является коллекцией?
Ответ. Одним из основных признаков коллекции является возможность добавления новых элементов в коллекцию. Число ячеек (т.е. диапазонов) в рабочем листе предопределено Microsoft и не может быть изменено пользователем. Поэтому Range не является коллекцией.
Вопрос. Чем оператор цикла For отличается от оператора For Each?
Ответ. Давайте сначала посмотрим, что между ними общего. Оба эти оператора выполняют определенную последовательность операторов несколько раз. Но от чего зависит, сколько раз они выполнят эту последовательность операторов? Число выполнений цикла For зависит от заданных начального и конечного значений счетчика цикла. Число выполнений операторов, заданных в операторе For Each, зависит только от числа объектов или количества элементов массива.
Практикум
С помощью тестов и упражнений вы проверите, насколько хорошо усвоили изложенный материал. Ответы на вопросы смотрите в Приложении.
Тесты
- Истинно или ложно следующее утверждение: в VBA диапазон всегда состоит из многих ячеек?
- Какое свойство объекта Range позволяет определить адрес одного диапазона на основе адреса другого?
- Если необходимо изменить значения всех ячеек диапазона, то какой оператор, требующий минимального кода, следует применить?
- Какое свойство позволяет выделить диапазон, не определяя заранее его размеры и местоположение, а только зная местоположение хотя бы одной ячейки внутри диапазона?
- Как определить, какое количество ячеек составляют диапазон?
- Какой метод применяется для удаления содержимого диапазона?
- Необходимо установить значения нескольких свойств определенного объекта. Как наиболее эффективно это сделать?