Создание макросов и их применение в Excel. Написание макросов Excel (2017)
Вебинар 1. Минимум необходимой теории
7 сентября (четверг) с 19:00 до 21:00 (МСК)
Теоретический вебинар
Что такое макросы? Как их писать?
Наша задача научиться трём способам написания макросов:
Макросы пишут в редакторе Visual Basic Editor и наша задача научиться эффективно использовать его для решения своих задач. На вебинаре узнаем из каких окон состоит, как настроить под себя (какие панелии окно добавить, а какие лучше убрать).
Объектная модель Excel
90% макросов что-то делают с ячейками (Cells), диапазонами (Range), листами (WorkSheets) и excel-файлами (Workbooks), нам предстоит разобраться с иерархией этих объектов. Также узнаем их основные свойства и методы.
Домашнее задание
Пишем с нуля макросы, которые:
Вебинар 2. Изменяем, копируем, удаляем через VBA
11 сентября (понедельник) с 19:00 до 21:00 (МСК)
Практический вебинар
3 варианта копирования
Существует три варианта копирования ячеек/диапазонов и мы научимся их использовать в зависимости от задачи и результата, который хотим получить.
5 способов удаления
Вы замечали, что вариантов удаления несколько:
Определяем последнюю заполненную ячейку
Макросы должны быть универсальными, для этого потребуется каждый раз вычислять диапазон, для которого писать формулу, либо границы копирования и т.д. Расскажу про три способа, которые точно будете использовать в своих кодах:
Пишем с нуля макросы, которые:
Вебинар 3. Циклы - короли автоматизации
14 сентября (четверг) с 19:00 до 21:00 (МСК)
Практический вебинар
Что такое циклы? Почему они короли?
Макросы должны уметь делать работу за нас. Мы напишем код, а макрос пусть 100500 раз повторит все наши действия.
Если Вы уже в теме макросов, то вот какие типы циклом рассмотрим:
Основы работы с переменными
Если циклы - это короли, то переменные - их верные помощники. Имя листа, файла, путь сохранения и т.д. - постоянно меняются. Определим для подобных параметров переменные и напишем макрос, который будет использовать универсальный код и выполняться в 2-3 раза быстрее.
Домашнее задание
Пишем с нуля макросы, которые:
Вебинар 4. Учимся общаться с пользователем
18 сентября (понедельник) с 19:00 до 21:00 (МСК)
Практический вебинар
Скажи мне: Кто ты?
До искуственного интеллекта нам будет ещё далеко, но вот запросить информацию от пользователя (ответить Да/Нет, ввести число, выделить диапазон ячеек, для которых будет выполнен макрос и т.д.) мы научимся. Возможно, Вы уже слышали про:
Работа с файловой системой
Нам следует научиться писать команды, которые будут:
Домашнее задание
Пишем с нуля макросы, которые:
21 сентября (четверг) с 19:00 до 21:00 (МСК)
Практический вебинар
Макросы на VBA - это Вам не ВПР писать. Тут думать надо!
Формулы в VBA можно писать несколькими способами, каждый имеет свои особенности, вот нам и надо будет разобраться с:
Узнаем про отдельный вид макросов - Функции (Function). Расскажу, про принципиальные отличия от обычных, научу писать свои собственные формулы (их нет ни в одной версии Excel):
WorkSheetFunction - ещё один вариант написания формул VBA
Особый вид функций, который работает быстрее обычных, но имеет свои особенности. К примеру формулу ВПР в ячейку B1 можно написать так:
Вебинар 1. Минимум необходимой теории
7 сентября (четверг) с 19:00 до 21:00 (МСК)
Теоретический вебинар
Что такое макросы? Как их писать?
Наша задача научиться трём способам написания макросов:
- с помощью макрорекордера (только как помощника)
- используя чужой код (где брать и как изменять под себя)
- сами с нуля (посвятим бОльшую часть времени)
Макросы пишут в редакторе Visual Basic Editor и наша задача научиться эффективно использовать его для решения своих задач. На вебинаре узнаем из каких окон состоит, как настроить под себя (какие панелии окно добавить, а какие лучше убрать).
Объектная модель Excel
90% макросов что-то делают с ячейками (Cells), диапазонами (Range), листами (WorkSheets) и excel-файлами (Workbooks), нам предстоит разобраться с иерархией этих объектов. Также узнаем их основные свойства и методы.
Домашнее задание
Пишем с нуля макросы, которые:
- создаёт оглавление Excel-файла с большим количеством листов
- записывает информацию о пользователе, который открывает файл
Вебинар 2. Изменяем, копируем, удаляем через VBA
11 сентября (понедельник) с 19:00 до 21:00 (МСК)
Практический вебинар
3 варианта копирования
Существует три варианта копирования ячеек/диапазонов и мы научимся их использовать в зависимости от задачи и результата, который хотим получить.
5 способов удаления
Вы замечали, что вариантов удаления несколько:
- удалить только значения (ClearContents),
- очистить форматы (ClearFormats),
- удалить комментарий (ClearComments),
- удалить всё сразу (Clear),
- да ещё и со смещением (Delete)
Определяем последнюю заполненную ячейку
Макросы должны быть универсальными, для этого потребуется каждый раз вычислять диапазон, для которого писать формулу, либо границы копирования и т.д. Расскажу про три способа, которые точно будете использовать в своих кодах:
- свойство Range.End (когда в столбце все строки заполнены значениями)
- метод Range.Find (самую последнюю строку/столбец)
- метод SpecialCells (самую-самую последнюю (даже удалённую) строку/столбец)
Пишем с нуля макросы, которые:
- создаёт оглавление Excel-файла с большим количеством листов
- записывает информацию о пользователе, который открывает файл
Вебинар 3. Циклы - короли автоматизации
14 сентября (четверг) с 19:00 до 21:00 (МСК)
Практический вебинар
Что такое циклы? Почему они короли?
Макросы должны уметь делать работу за нас. Мы напишем код, а макрос пусть 100500 раз повторит все наши действия.
Если Вы уже в теме макросов, то вот какие типы циклом рассмотрим:
- For ... next (цикл со счётчиком)
- Do ... Loop (с условиями While и Until)
- For each ... (по объектам коллекций WorkSheets, Сells и др.)
Основы работы с переменными
Если циклы - это короли, то переменные - их верные помощники. Имя листа, файла, путь сохранения и т.д. - постоянно меняются. Определим для подобных параметров переменные и напишем макрос, который будет использовать универсальный код и выполняться в 2-3 раза быстрее.
Домашнее задание
Пишем с нуля макросы, которые:
- заполнит 138 договоров ГПХ и отправит их каждому сотруднику на почту
- из выгрузки продаж за 9 мес. сформирует excel-файлы по зонам ответственности каждого менеджера и директора региона и сохранит в нужную папку
Вебинар 4. Учимся общаться с пользователем
18 сентября (понедельник) с 19:00 до 21:00 (МСК)
Практический вебинар
Скажи мне: Кто ты?
До искуственного интеллекта нам будет ещё далеко, но вот запросить информацию от пользователя (ответить Да/Нет, ввести число, выделить диапазон ячеек, для которых будет выполнен макрос и т.д.) мы научимся. Возможно, Вы уже слышали про:
- MsgBox (информационные сообщения),
- InputBox (получение данных от пользователя)
- Application.InputBox (продвинутый вариант InputBox)
Работа с файловой системой
Нам следует научиться писать команды, которые будут:
- создавать и удалять папки (нужно, чтобы макрос смог сохранять результат в нужное место),
- выводить FileDialog (решили собрать данные с нескольких excel-файлов, вот и надо попросить пользователя указать какие конкретно) и т.д.
Домашнее задание
Пишем с нуля макросы, которые:
- создаёт список файлов в папке (покажу два принципиально разных варианта решения задачи)
- сбор данных из нескольких файлов Excel в один (все из одной папки, по списку файлов, по тем, что выберет пользователь)
21 сентября (четверг) с 19:00 до 21:00 (МСК)
Практический вебинар
Макросы на VBA - это Вам не ВПР писать. Тут думать надо!
Формулы в VBA можно писать несколькими способами, каждый имеет свои особенности, вот нам и надо будет разобраться с:
- текстом (UCase, LCase, StrConv, Left, Mid, Len, InStr, RevStr, Trim и др.)
- датой и временем (Date, Time, Now, WeekDay, DateDiff, DateAdd и др.)
- числами (Abs, Fix, Int, Round, Rnd, Sgn, Sin, Cos, Tan, Atn и др.)
- преобразование данных (IsNumeric, IsDate, IsArray, IsObject, IsEmpty и др.)
- форматами (Format, FormatCurrency/DateTime/Number/Percent)
Узнаем про отдельный вид макросов - Функции (Function). Расскажу, про принципиальные отличия от обычных, научу писать свои собственные формулы (их нет ни в одной версии Excel):
- СуммаЯчеекПоЦвету (находит сумму ячеек с определённым цветом заливки)
- ЛатиницаВРусские и РусскиеВЛатиницу (преобразует буквы)
- ЧислоИзЯчейки (извлекает из ячейки с текстом число)
WorkSheetFunction - ещё один вариант написания формул VBA
Особый вид функций, который работает быстрее обычных, но имеет свои особенности. К примеру формулу ВПР в ячейку B1 можно написать так:
- Range(B1).FormulaLocal = =ВПР(A1$D$1:$F$520)
- Range(B1) = Application.V
- Range(B1) = Application.WorksheetFunction.Vlookup(сells(1
Скрытое содержимое доступно для зарегистрированных пользователей!