Профессиональное программирование макросов

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

 

По итогам этого курса вы сможете:

  • создавать и настраивать пользовательские формы UserForm для автоматизации процесса заполнения таблиц (окна с собственным набором настроек для внесения данных в таблицы)
  • программировать вложенные циклы (сравнить две огромные таблицы и приводить их в соответствие; автоматизировать объединение ячеек с одинаковыми значениями)
  • использовать глобальные (публичные) переменные
  • работать с массивами данных Array и коллекциями (оптимизация времени выполнения макросов)
  •  автоматизировать создание выпадающих списков, состав которых зависит от настроек нескольких других столбцов
  • выполнять поиск названия по введенным сочетаниям букв
  •  применять переходы по меткам (пропускать ошибочные действия или оптимизировать время выполнения макроса)
  •  организовывать работу с фалами и папками при помощи FileDialog, frmWizard, Dir
  • правильно писать код для создания сводной таблицы PivotTable

 

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

171

Модуль 1. Создание процедур с вложенными циклами, введение в UserForm

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

  • Программирование вложенных циклов для обработки и сопоставления больших объемов данных 
  • Использование переходов по меткам для оптимизации времени выполнения длинных процедур 
  • Создание универсальных процедур для обработки выделенных пользователем диапазонов ячеек 
  • Создание пользовательских форм UserForm в окне проекта VBA. Запуск формы. Интерфейсные особенности

 Модуль 2. Понятие массивов, использование локальных и глобальных переменных в коде VBA    

Для работы над сложным проектом, для которого требуется написание нескольких макросов, будет удобно использовать т.н. общие переменные во всех кодах, чтобы внутри каждой процедуры не переписывать названия и пути для книг, листов, диапазонов. А еще по итогам этого модуля научимся использовать массивы для хранения и обработки информации внутри кода VBA

  • Объявление и хитрости определения глобальных переменных, отличия от локальных
  • Знакомство с одномерными и многомерными массивами, наполнение массивов данными
  • Особенности работы с динамическими массивами
  • Использование коллекций

Модуль 3. Профессиональный подход к разработке пользовательских форм UserForm

В этом модуле подробно разберем все нюансы по созданию полноценного диалогового окна, которое можно использовать как форму ввода данных и вносить всю необходимую информацию для добавления данных в таблицу (в том числе создадим выпадающий список, набор значений которого зависит от других выполненных настроек); либо как стандартное окно настроек Excel, с помощью которого определяются параметры для работы с конкретной таблицей

  • Настройка UserForm, организация диалогового окна с несколькими вкладками
  • Размещение элементов управления в UserForm: текстовые поля, флажки, переключатели, комбинированные списки, счетчики, поля ввода ссылок на диапазоны, командные кнопки
  • Программирование процедур для обработки событий элементов управления формы
  • Использование массивов для обработки событий элементов управления формы
  • Проверка ввода обязательных данных

Модуль 4. Организация файловой работы с помощью окон VBA        

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

  • Выбор одного или нескольких файлов с помощью FileDialog для обработки в одной процедуре
  • Автоматизированное создание списка файлов рабочей папки
  • Настройка поиска файлов по ключевым словам

Модуль 5. Нюансы создания Сводной таблицы с помощью VBA

После обработки и сбора данных необходимо автоматизировать построение небольшого отчета в виде сводной таблицы? – Легко! В этом модуле разберем, как составить эффективный компактный код для этой цели

  • Написание программного кода для создания Сводной таблицы
  • Программирование настроек Сводной таблицы
  • Использование событий PivotTable

Модуль 6. Создание надстроек VBA

Пришло время сделать собственные разработки общедоступными, чтобы в процессе работы иметь возможность применить любую из них. А также максимально облегчить использование наших макросов коллегами

  • Способы преобразования рабочей книги Excel в надстройку 
  • Альтернативное решение: использование скрытой рабочей книги