Программирование макросов на VBA в Microsoft Excel

Как начать полноценно использовать одну из самых мощных встроенных возможностей Microsoft Excel для автоматизации работы - язык Visual Basic for Application(VBA). Как создавать макросы, писать код "с нуля", понимать синтаксис, команды и операторы этого языка, разбираться в объектной модели Excel и использовать эти знания для решения практических задач.

Этот тренинг будет интересен всем, кто по роду деятельности сталкивается в работе с однообразными повторяющимися операциями в Microsoft Excel и хочет автоматизировать их с помощью макросов, написанных на языке Visual Basic (VBA). Фактически, знание принципов и основ подобного программирования позволит решать в среде Excel и Office любые задачи. От простых, но эффективных макросов "на каждый день", помогающих рядовым пользователям в их работе, до серьезных проектов корпоративного уровня.

За последние несколько лет мне посчастливилось участвовать в процессе разработки и внедрения нескольких проектов автоматизации для разных компаний с помощью средств Microsoft Office, Excel и VBA. Весь этот опыт и знания кристаллизовались в сухом остатке в виде этого тренинга. В нем понятно и подробно, с пошаговыми демонстрациями и практическими заданиями разбираются все нюансы написания макросов - с нуля и до уровня уверенного владения и понимания.

 Программа курса

149

МОДУЛЬ 1. ИСПОЛЬЗОВАНИЕ МАКРОРЕКОРДЕРА ДЛЯ ЗАПИСИ МАКРОСОВ

Общее знакомство со средствами создания макросов. Разбор нюансов использования режимов относительных и абсолютных ссылок для целей записи своих действий

1.1 Простая запись макроса в Excel

1.2 Использование абсолютных и относительных ссылок

1.3 Просмотр и корректировка программного кода, сгенерированного автоматически

МОДУЛЬ 2. ОСНОВЫ РАБОТЫ В РЕДАКТОРЕ VBA. ОСНОВНЫЕ СВОЙСТВА И МЕТОДЫ РАБОЧИХ КНИГ, ЛИСТОВ И ЯЧЕЕК

Знакомимся с окном редактора VBA, изучаем минимально необходимый «словарный запас» и разбираем правила «синтаксиса и пунктуации» - все это потребуется для написания законченных процедур. Здесь же увидим, в каких случаях пригодится окно отладчика

2.1 Особенности интерфейса окна VBA

2.2 Создание процедуры типа Sub, ввод программного кода, запуск макроса

2.3 Основные свойства и методы объекта Workbook

2.4 Основные свойства и методы объекта  Worksheet

2.5 Основные свойства и методы объекта  Range

МОДУЛЬ 3. ОБЪЕКТНОЕ ПРОГРАММИРОВАНИЕ. ОПРЕДЕЛЕНИЕ ТИПОВ ДАННЫХ, НЕОБХОДИМОСТЬ ИСПОЛЬЗОВАНИЯ ПЕРЕМЕННЫХ И КОНСТАНТ

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

3.1 Инструкция управления выполнением команд: If…Then…Else

3.2 Инструкция управления выполнением команд: Select Case

3.3 Основы объектно-ориентированного программирования

3.4 Разбор модели объектов Excel, правила составления ссылок на объекты

3.5 Создание объектных переменных и использование конструкции With … End With

МОДУЛЬ 4. ПРОГРАММИРОВАНИЕ МНОГОКРАТНЫХ ДЕЙСТВИЙ С ЯЧЕЙКАМИ И РАБОЧИМИ ЛИСТАМИ ПРИ ПОМОЩИ ЦИКЛОВ

Как быть в случае необхоидмости многократно повторить одинаковое действие по отношению к большому числу ячеек, листов или других объектов? А если их колчиество вообще неизвестно (перебрать все листы книги, например)? На все эти вопросы ответит настоящий раздел, посвященный использованию различных видов циклов

4.1 Обзор разновидностей циклов в VBA

4.2 Инструкция управления выполнением команд (счетчик): For...Next

4.3 Инструкция управления выполнением команд (условие): Do...Loop

4.4 Инструкция управления выполнением команд (объект): For Each...Next

МОДУЛЬ 5. ПРАВИЛА СОЗДАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ И ПРИМЕРЫ ИХ ИСПОЛЬЗОВАНИЯ

Если мы не редактируем ячейки или листы, то скорее всего занимаемся расчетами. На все ли случаи жизни есть у Excel встроенные функции? Как заставить его сложить не все выделенные ячейки, а через одну? Как просуммировать все ячейки определенного цвета? А, быть может, есть желание и необходимость громозкий расчет (занимающий строчек так пять-семь в строке формул) упаковать в небольшую пользовательскую функцию? Именно сейчас и научимся это делать с помощью VBA

5.1 Создание процедуры типа Function

5.2 Программирование алгоритма действий и вычислений:

  • простой алгоритм вычислений
  • алгоритм вычислений с проверкой свойств ячеек
  • пользовательской функции на рабочем листе

МОДУЛЬ 6. СОЗДАНИЕ ПРОЦЕДУРЫ ОБРАБОТКИ ОШИБОК. ЗАЩИТА ПРОЕКТА VBA. АВТОМАТИЗАЦИЯ ЗАПУСКА МАКРОСОВ

Можно ли при открытии файла выбрать, какие листы мы хотели бы видеть? Или сделать формулу «живой» и исключить всякую возможность ее испортить? Конечно, да! А еще можно «пошпионить» за коллегами и узнать с помощью VBA – кто, когда и в каких ячейках работал. VBA покажет, у кого нет алиби и в какое время :-) Потому что в завершение курса мы узнаем, как заставить макрос работать в нужный нам момент. Как сделать кнопки и внедрить кнопки в интерфейс программы – узнаем здесь же

6.1 Пошаговое тестирование программы и инструменты отладки

6.2 Параметры безопасности и средства защиты проекта VBA

6.3 Использование кнопок для запуска макросов

6.4 Автоматический запуск макросов на основе событий рабочих книг и листов