При взаимодействии с диапазонами данных хорошо бы учитывать следующее:
- Инструмент записи макросов не всегда порождает наиболее оптимальный код. Бывает, что после записи макроса требуется оптимизация кода для его улучшения.
- Если вы полагаетесь на инструмент записи макросов для выбора диапазонов убедитесь, что записанный макрос использует относительные ссылки. Для этого воспользуйтесь командой "Разработчик->Код->Относительные ссылки".
- Для управления диапазоном нет необходимости выделять его в программе.
- Если выделение диапазона осуществляется с использованием кода, убедитесь, что соответствующий лист активен. Для активации конкретного листа рекомендуется применять метод Activate из коллекции Worksheets.
- В языке программирования VBA рекомендуется использовать ссылки на именованные диапазоны вместо жестко заданных адресов. Например, предпочтительнее использовать ссылку Range("МойДиапазон") вместо Range("А18"). Это предотвращает необходимость изменения адреса ячейки при добавлении новой строки перед 18-той.
- Перед выполнением макроса, управляющего каждой ячейкой в текущем диапазоне, рассмотрите случай, когда пользователь выделил полные столбцы или строки. В таких ситуациях желательно создание нового диапазона, включающего только заполненные значения ячеек.
- Excel позволяет выделять несколько несмежных диапазонов. Например, можно выделить диапазон, затем, удерживая клавишу <Ctrl>, выделить еще один. При работе с такими диапазонами целесообразно внести соответствующую логику в макрос для определения действий (об этом будет рассказано в последующих статьях).