[iMacros] Создание макросов и их применение в Excel. Написание макросов Excel

100

Описание:
Вебинар 1. Минимум необходимой теории
Теоретический вебинар
Что такое макросы? Как их писать?
Наша задача научиться трём способам написания макросов:

  • с помощью макрорекордера (только как помощника)
  • используя чужой код (где брать и как изменять под себя)
  • сами с нуля (посвятим большую часть времени)

Редактор VBE
Макросы пишут в редакторе Visual Basic Editor и наша задача научиться эффективно использовать его для решения своих задач. На вебинаре узнаем из каких окон состоит, как настроить «под себя» (какие панелии окно добавить, а какие лучше убрать).
Объектная модель Excel
90% макросов что-то делают с ячейками (Cells), диапазонами (Range), листами (WorkSheets) и excel-файлами (Workbooks), нам предстоит разобраться с иерархией этих объектов. Также узнаем их основные свойства и методы.
Домашнее задание
Пишем с нуля макросы, которые:

  • создаёт оглавление Excel-файла с большим количеством листов
  • записывает информацию о пользователе, который открывает файл
Продолжение описания
Вебинар 2. Изменяем, копируем, удаляем через VBA
Практический вебинар
3 варианта копирования
Существует три варианта копирования ячеек/диапазонов и мы научимся их использовать в зависимости от задачи и результата, который хотим получить.
5 способов удаления
Вы замечали, что вариантов удаления несколько:

  • удалить только значения (ClearContents),
  • очистить форматы (ClearFormats),
  • удалить комментарий (ClearComments),
  • удалить всё сразу (Clear),
  • да ещё и со смещением (Delete)

Рассмотрим на примерах все способы.
Определяем последнюю заполненную ячейку
Макросы должны быть универсальными, для этого потребуется каждый раз вычислять диапазон, для которого писать формулу, либо границы копирования и т.д. Расскажу про три способа, которые точно будете использовать в своих кодах:

  • свойство Range.End (когда в столбце все строки заполнены значениями)
  • метод Range.Find (самую последнюю строку/столбец)
  • метод SpecialCells («самую-самую» последнюю (даже удалённую) строку/столбец)

Домашнее задание
Пишем с нуля макросы, которые:

  • создаёт оглавление Excel-файла с большим количеством листов
  • записывает информацию о пользователе, который открывает файл

Вебинар 3. Циклы — короли автоматизации
Практический вебинар
Что такое циклы? Почему они короли?
Макросы должны уметь делать работу за нас. Мы напишем код, а макрос пусть +100500 раз повторит все наши действия.
Если Вы уже «в теме» макросов, то вот какие типы циклом рассмотрим:

  • For … next (цикл со счётчиком)
  • Do … Loop (с условиями While и Until)
  • For each … (по объектам коллекций WorkSheets, Сells и др.)

К примеру, Вам надо заполнить данными 150 договоров по шаблону. Вот мы и запишем пару строк кода как заполнить 1 договор, а циклы повторят процедуру 150 раз. Делая руками, мы бы потратили 2 дня, а макрос за 2 минуты выполнит эту работу.