Макросы excel для аналитика

В процессе профессиональной деятельности, оператор-аналитик многократно выполняет перегруппировку исходных (сырых) данных в тот формат, который удобен ему для анализа
(например: таблица, график, диаграмма). Это может быть фильтрация, сортировка, создание сводных таблиц и т.д. …

Вспомните и проанализируйте свою повседневную работу…
Как часто Вам приходится выполнять однотипные операции с однотипными файлами?
Это и есть — работа по определенному алгоритму
А значит, эту работу можно запрограммировать и поручить компьютеру…

Макрос – это программа преобразования «исходных данных» в нужные «результирующие данные».

  1. Мнение о Средствах (инструментах) специалиста-аналитика
  2. Проверка вводимых данных в Excel (ключевых для работы макроса)
  3. Диалоговые окна Windows в макросах Word и Excel
  4. Фильтры данных (информации из баз данных Excel)
  5. Пример создания Сводной таблицы макросом VBA Excel (эксель)

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

Мнение о Средствах (инструментах) специалиста-аналитика

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

Файлы с расширением xlsx, а ранее xls (книги Excel) для этой цели подходят как нельзя лучше и используются чаще обычного.

В Вашей организации так? Или по-другому?

Начиная с MS Office 2007, для работы с макросами используются файлы с другим расширением: xlsm – книга Excel с поддержкой макросов. Поэтому наиболее целесообразно в виде инструментов специалисту-аналитику использовать именно файлы с расширением xlsm. Это будут небольшие файлы, не содержащие больших объемов данных, но содержащие программный код макроса и указывающие какой лист какой книги этому макросу следует обработать…

VBA Excel с помощью макросов PivotTable

Рис.1 — Пример Интерфейса «ввод данных и кнопка для запуска макроса» (как на Userform)

Такой инструмент дает возможность быстро использовать возможности макроса для многих файлов (регулярно поступающих к аналитику) без переноса VBA-модулей в них.

Проверка вводимых данных в Excel (ключевых для работы макроса)

Такой подход накладывает несколько более строгие требования к задаваемым ключевым данным для работы макроса (тем данным, которые вводятся над исполнительной командной кнопкой). И хотя (в случае их отсутствия) ничего страшного не произойдет и пользователь просто получит сообщение об ошибке, но желательно средствами макроса подсказать пользователю, что им «не так сделано» и как удовлетворить справедливые запросы макроса на данные…

Проверка вводимых данных в Excel

Рис.2 — Сообщение-подсказка для невнимательных пользователей

Видимо, название листа с целевыми данными (в отличие от предыдущего файла) было изменено, но Вам всего лишь нужно уточнить (посмотреть) как именуется лист в новом файле и вбить новое название в ячейку «В2». Именно так! Не переименовывать лист под требования макроса, а изменить ключевые данные для макроса…
Ведь те, кто создавал для Вас файл данных, по каким-то причинам переименовали Лист…, то есть, с большой вероятностью, и в следующем файле (например, через месяц) Лист будет называться по-новому…

Диалоговые окна Windows в макросах Word и Excel

Конечно, не очень сложно указать путь к требуемой книге Excel (ключевые данные для макроса в ячейке «В1»), но удобнее, как только Вы перешли в ячейку «В1» увидеть стандартное диалоговое окно Windows, специально предназначенное для открытия файлов и открыть книгу через него.

Диалоговые окна Windows в макросах Word и Excel

Рис.3 — Пример использования стандартных Диалоговых окон Windows

При этом в ячейку «В1» автоматически запишется имя открытой книги…
В общем, сразу двух зайцев убиваем… И книга открыта, и макрос имеет на 100% безошибочные данные…

Фильтры данных (информации из баз данных Excel)

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

  • положительные фильтры – пропускают в результирующий файл информацию, которая совпала хотя бы с одним из эталонов, а остальную игнорируют…
  • отрицательные фильтры – выбрасывают любую информацию, которая совпала хотя бы с одним из эталонов, и только оставшуюся пропускают в результирующий файл…

Для формирования сводных таблиц средствами макроса придется широко использовать и те, и другие виды фильтров.
Например, в определенной колонке листа указан город расположения аптеки…
Задача может ставиться так:

  • суммирование данных по 3-5 конкретным городам – резонно использовать положительный фильтр;
  • суммирование данных по всем городам, кроме Москвы и Санкт-Петербурга – здесь удобнее отрицательный фильтр;

Функция формирования фильтров для сводной таблицы (по массиву эталонных строковых значений) написана и есть в коде…

Пример создания Сводной таблицы макросом VBA Excel (эксель)

Хочу сразу оговориться, что многие авторитетные сайты, не считают задачу формирования сводной таблицы средствами VBA уместной. По их мнению, прекрасный инструментарий Excel позволяет с наименьшими трудностями обходиться без макросов в этом вопросе…
Но, ко мне обращались, представители аналитического сообщества, которым скучно, и неприятно утомительно, из раза в раз устанавливать десятки флажков (checkbox) по нескольким полям большой Базы данных…. Так что все зависит от конкретного случая…. Для кого-то это решение может стать лучшим….

Этапы:

Определение строк сводной таблицы.

На этом этапе важно определить уровни группировки данных (по Вашему желанию или желанию Вашего руководства).


    With svT.PivotFields("Препарат")
       .Orientation = xlRowField
       .Position = 1
    End With
    With svT.PivotFields("Упаковка")
       .Orientation = xlRowField
       .Position = 2
    End With

VBA Excel с помощью макросов PivotTable 1

Рис.4 — В результате сформирована Сводная таблица на новом листе (перемещайте, куда хотите)

Как видим, здесь в группу «Препарат» попали все виды упаковок данного лекарства.

Определение фильтров сводной таблицы.

На этом этапе определяем фильтры, по которым макрос создаст сводную таблицу, но подкорректировать эти фильтры возможно будет и в ручную… Excel для этого предоставляет удобные возможности.


'добавляем эталонные строковые значения в массив необходимого размера
ReDim ar(0 To 5)
ar(0) = "Москва":
ar(1) = "г Москва":
ar(2) = "Москва г":
ar(3) = "Москва, ТЦ ""Малая Родина""":
ar(4) = "г Владимир":
ar(5) = "Зеленоград"

А сейчас формируем положительный фильтр по этим нескольким значениям


FilterPlusMinus True, ar, "Город" 'оставляет только указанные города

Или отрицательный фильтр (результат показан на Рис.4)


FilterPlusMinus False, ar, "Город" 'оставляет города, за исключением указанных

Конечно, фильтр, допускающий только одно значение выглядит проще…


'добавление фильтра с одним значением
    With ActiveSheet.PivotTables(tNam).PivotFields("Поставщик")
       .Orientation = xlPageField
       .Position = 1
    End With
    svT.PivotFields("Поставщик").ClearAllFilters
    svT.PivotFields("Поставщик").CurrentPage = "Санофи Россия"

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


'добавление фильтра со всеми значениями (для ручной корректировки в процессе анализа)
    With ActiveSheet.PivotTables(tNam).PivotFields("Плательщик")
       .Orientation = xlPageField
       .Position = 1
    End With
    svT.PivotFields("Плательщик").CurrentPage = "(All)"

Определение полей сводной таблицы с Итоговыми данными (здесь суммами значений).

Итоговые данные (не обязательно суммирование) всегда представляют исключительный интерес… Правда?
Таких полей в сводной таблице может быть несколько, но в моем примере на «листе данных» больше нет числовых полей, поэтому и суммирование проводить больше, как по полю «Количество», не уместно…


svT.AddDataField svT.PivotFields("Количество"), "Сумма по полю Количество", xlSum

И вот, результат…

VBA Excel с помощью макросов Итоговые данные

Рис.5 — Итоговые данные — «Сумма по полю Количество»

Безошибочность работы макроса в разы превышает возможности человека…
Про скорость я уж вообще не говорю…, Ни каких сравнений…

Поэтому, изучать язык программирования VBA очень интересно и выгодно.
Долго…? Времени на изучение жалко…?
В принципе… это не обязательно… Как не обязательно знать электронную начинку телевизора, чтобы использовать этот телевизор по назначению…
Если Вы сотрудничаете с программистом, то Вам останется – указать минимум данных и запустить уже готовый макрос… Все!!!
Пробуйте…

Могу создать макрос для формирования сводной таблицы с данными нескольких листов…

Условия получения кода?    Показать?

Другие примеры на тему «Автоматизация документов Microsoft Office Excel, Word, Access»

Если на этой странице не нашлось того, что Вы так искали…

        
Не расстраивайтесь, не все потеряно… Смело щелкайте…

       телефон:

+7(919) 572-59-92
+7(987) 848-79-61

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

Очень часто в своей профессиональной деятельности финансовым работникам приходится сталкиваться с обработкой больших объемов данных, выполнять однообразные повторяющиеся операции над данными. В итоге время, которое приходится на эту работу, в разы превосходит анализ информации и принятие решений. Если разделить подобную работу на рутину и «творчество», то, к сожалению, выигрыш будет совсем не в пользу второго. Почему человек разумный позволяет себе подобное расточительство? Один из самых ценных ресурсов – время – используется подчас так неэффективно.

Изначально, при разработке компьютеров, на них (на машины) возлагалась именно задача по быстрой обработке больших объемов данных – выполнение за человека рутинной работы. Планировалось, что хомосапиенс воспользуется данной возможностью и займется более плодотворно анализом и интерпретацией этих данных. Время не стоит на месте. Машины становились меньше и быстрее, расширялся круг решаемых задач, разрабатывались новые программы для пользователей. В итоге инструменты стали настолько совершенны, что для их использования понадобились отдельные специалисты. Также специалисты потребовались для общения с машинами посредством программ. Но программы тоже развивались с целью охватить как можно больше решаемых задач. Программы, ставшие востребованными, усложнялись и становились умнее. Именно сейчас мы и подошли к любимому инструменту всех финансистов – к табличному редактору Excel.

Как применить макросы Excel в работе финансиста?

Очень часто пользователи не замечают тех возможностей программы, которые заложены в неё разработчиками. Если говорить об Excel, то всего лишь единицы из общего числа пользователей используют макросы. А ведь макросы – это уникальная возможность переложить на программу еще больше рутинной работы по обработке данных. Но пользуется этим крайне малое число специалистов.

Чем может помочь создание программ (макросов) для Excel в работе финансиста? Данная возможность существенно расширяет стандартные возможности Excel как табличного редактора. Пользователь получает возможность создавать собственные гибкие обработчики данных и закладывать в них логику при помощи встроенного языка программирования Visual Basic. Так же существует возможность создания дополнительных форм, которые позволят заложить в программу возможности общения с пользователем (например, можно запросить недостающую информацию для обработки данных). Стоит отметить, что овладев данными навыками, пользователю не составит труда решить возникающие перед ним разнообразные задачи. Приведем несколько примеров подобных задач.

Сверка двух выписок, имеющих расхождения в итоговой цифре

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

Функция «курс валюты на дату»

Очень часто в работе финансиста ему может потребоваться курс какой-либо валюты на дату (или динамика курса за какой-то период). Стандартное решение – заходить на сайт Центрального Банка РФ (или другой страны), выбор курса на необходимую дату, копирование и вставка в файл. Для одной или двух дат не сложное решение. А если необходимо это проделывать несколько раз в день? Или курсы необходимы за большое количество дат? Неблагодарный и однообразный труд. НО можно потратить немного времени и написать небольшую программу (пользовательскую функцию), которая будет сама подгружать в ячейку курс необходимой валюты на интересующую дату. Удобно? Бесспорно.

С чего начать изучение макросов в Excel?

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

  1. Не бояться экспериментировать с макросами

Записывать макросы (при помощи макрорекодера). Находить записанные макросы в редакторе Visual Basic и пытаться разобрать линейный код. Пробовать вносить в него изменения и проверять, что произойдет в результате. Обязательно изучить, как можно записать данные в ячейку и получить из неё данные (объект Range).

  1. Изучить логические операторы IF, Select Case

Макрорекодер не поможет в решении данной задачи. Он не создает логику в записываемых макросах. Адреса в справочной системе Microsoft, где можно посмотреть информацию по данным операторам: 
https://msdn.microsoft.com/ru-ru/library/752y8abs.aspx 
https://msdn.microsoft.com/ru-ru/library/cy37t14y.aspx 
Экспериментировать с применением операторов в линейных программах, записанных при помощи макрорекодера.

  1. Изучить операторы циклов For … Next, Do … Loop, For Each … Next

https://msdn.microsoft.com/ru-ru/library/5z06z1kb.aspx
https://msdn.microsoft.com/ru-ru/library/eked04a7.aspx
https://msdn.microsoft.com/ru-ru/library/5ebk1751.aspx 
Тоже экспериментировать.

ВАЖНО: эксперименты необходимо проводить над файлами, потеря или порча которых не будет критичной. Иногда будут возникать ситуации, когда программа будет делать совсем не то, что было запланировано. Если написание программы необходимо в файле с рабочими данными – рекомендуется создавать копии файлов на различных этапах написания программы или чаще обычного сохранять изменения. Откат изменений, сделанных программой невозможен.

  1. Изучить создание пользовательских форм (UserForm) и возможности различных компонентов для создания интерфейса программ (основные: TextBox, Label, CommandButton).

Данное изучение лучше проделать практически. Для помощи в этом непростом деле мы создали небольшую презентацию. Посмотреть её можно ниже:

Изучение и развитие не будет простым. В какие-то моменты будет казаться, что всё это не стоит затраченного времени. Но первая же программа, сделанная самостоятельно, которая упростит жизнь, перевернет это представление.

«Не бойтесь расти медленно, бойтесь оставаться неизменными». (Китайская мудрость).

Хотите научиться возможностям Excel, которые избавят вас от рутинной работы?
Записывайтесь на авторский курс Романа Вдовина «Программирование в Excel для НЕпрограммистов» 


Все блоги


Полезные макросы Excel для автоматизации рутинной работы с примерами применения для разных задач.

Примеры макросов для автоматизации работы

makrosy-filtra-svodnoy-tablicyМакросы для фильтра сводной таблицы в Excel.
Как автоматизировать фильтр в сводных таблицах с помощью макроса? Исходные коды макросов для фильтрации и скрытия столбцов в сводной таблице.

makros-svodnoy-tablicyМакрос для создания сводной таблицы в Excel.
Как автоматически сгенерировать сводную таблицу с помощью макроса? Исходный код VBA для создания и настройки сводных таблиц на основе исходных данных.

makrosy-dlya-formatirovaniya-yacheekМакросы для изменения формата ячеек в таблице Excel.
Как форматировать ячейки таблицы макросом? Изменение цвета шрифта, заливки и линий границ, выравнивание. Автоматическая настройка ширины столбцов и высоты строк по содержимому с помощью VBA-макроса.

makros-pereimenovat-listyМакрос для копирования и переименования листов Excel.
Как одновременно копировать и переименовывать большое количество листов одним кликом мышкой? Исходный код макроса, который умеет одновременно скопировать и переименовать любое количество листов.



#Руководства

  • 23 май 2022

  • 0

Как с помощью макросов автоматизировать рутинные задачи в Excel? Какие команды они выполняют? Как создать макрос новичку? Разбираемся на примере.

Иллюстрация: Meery Mary для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Макрос (или макрокоманда) в Excel — алгоритм действий в программе, который объединён в одну команду. С помощью макроса можно выполнить несколько шагов в Excel, нажав на одну кнопку в меню или на сочетание клавиш.

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

Например, если нужно добавить название компании в несколько десятков документов и отформатировать его вид под корпоративный дизайн, можно делать это в каждом документе отдельно, а можно записать ход действий при создании первого документа в макрос — и затем применить его ко всем остальным. Второй вариант будет гораздо проще и быстрее.

В статье разберёмся:

  • как работают макросы и как с их помощью избавиться от рутины в Excel;
  • какие способы создания макросов существуют и как подготовиться к их записи;
  • как записать и запустить макрос начинающим пользователям — на примере со скриншотами.

Общий принцип работы макросов такой:

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

Макросы могут выполнять любые действия, которые в них запишет пользователь. Вот некоторые команды, которые они умеют делать в Excel:

  • Автоматизировать повторяющиеся процедуры.

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

  • Объединять работу нескольких программ Microsoft Office.

    Например, с помощью одного макроса можно создать таблицу в Excel, вставить и сохранить её в документе Word и затем отправить в письме по Outlook.

  • Искать ячейки с данными и переносить их в другие файлы.

    Этот макрос пригодится, когда нужно найти информацию в нескольких объёмных документах. Макрос самостоятельно отыщет её и принесёт в заданный файл за несколько секунд.

  • Форматировать таблицы и заполнять их текстом.

    Например, если нужно привести несколько таблиц к одному виду и дополнить их новыми данными, можно записать макрос при форматировании первой таблицы и потом применить его ко всем остальным.

  • Создавать шаблоны для ввода данных.

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

  • Создавать новые функции Excel.

    Если пользователю понадобятся дополнительные функции, которых ещё нет в Excel, он сможет записать их самостоятельно. Все базовые функции Excel — это тоже макросы.

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

В Excel и других программах Microsoft Office макросы создаются в виде кода на языке программирования VBA (Visual Basic for Applications). Этот язык разработан в Microsoft специально для программ компании — он представляет собой упрощённую версию языка Visual Basic. Но это не значит, что для записи макроса нужно уметь кодить.

Есть два способа создания макроса в Excel:

  • Написать макрос вручную.

    Это способ для продвинутых пользователей. Предполагается, что они откроют окно Visual Basic в Еxcel и самостоятельно напишут последовательность действий для макроса в виде кода.

  • Записать макрос с помощью кнопки меню Excel.

    Способ подойдёт новичкам. В этом варианте Excel запишет программный код вместо пользователя. Нужно нажать кнопку записи и выполнить все действия, которые планируется включить в макрос, и после этого остановить запись — Excel переведёт каждое действие и выдаст алгоритм на языке VBA.

Разберёмся на примере, как создать макрос с помощью второго способа.

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

Так выглядят таблицы с продажами автосалона в первоначальном виде
Скриншот: Skillbox Media

Пользоваться таким отчётом неудобно — нужно сделать его наглядным. Запишем макрос при форматировании таблицы с продажами за январь и затем применим его к двум другим таблицам.


Готовимся к записи макроса

Кнопки для работы с макросами в Excel находятся во вкладке «Разработчик». Эта вкладка по умолчанию скрыта, поэтому для начала разблокируем её.

В операционной системе Windows это делается так: переходим во вкладку «Файл» и выбираем пункты «Параметры» → «Настройка ленты». В открывшемся окне в разделе «Основные вкладки» находим пункт «Разработчик», отмечаем его галочкой и нажимаем кнопку «ОК» → в основном меню Excel появляется новая вкладка «Разработчик».

В операционной системе macOS это нужно делать по-другому. В самом верхнем меню нажимаем на вкладку «Excel» и выбираем пункт «Параметры…».

Нажимаем сюда, чтобы вызвать панель с дополнительными параметрами Excel в macOS
Скриншот: Skillbox Media

В появившемся окне нажимаем кнопку «Лента и панель».

Выбираем параметр «Лента и панель»
Скриншот: Skillbox Media

Затем в правой панели «Настроить ленту» ищем пункт «Разработчик» и отмечаем его галочкой. Нажимаем «Сохранить».

Отмечаем пункт «Разработчик» и сохраняем изменения
Скриншот: Skillbox Media

Готово — вкладка «Разработчик» появилась на основной панели Excel.

Теперь можно работать с макросами
Скриншот: Skillbox Media

Чтобы Excel смог сохранить и в дальнейшем использовать макрос, нужно пересохранить документ в формате, который поддерживает макросы. Это делается через команду «Сохранить как» на главной панели. В появившемся меню нужно выбрать формат «Книга Excel с поддержкой макросов».

Перед записью макросов нужно сохранить документ в формате с их поддержкой
Скриншот: Skillbox Media

Перед началом записи макроса важно знать об особенностях его работы:

  • Макрос записывает все действия пользователя.

    После старта записи макрос начнёт регистрировать все клики мышки и все нажатия клавиш. Поэтому перед записью последовательности лучше хорошо отработать её, чтобы не добавлять лишних действий и не удлинять код. Если требуется записать длинную последовательность задач — лучше разбить её на несколько коротких и записать несколько макросов.

  • Работу макроса нельзя отменить.

    Все действия, которые выполняет запущенный макрос, остаются в файле навсегда. Поэтому перед тем, как запускать макрос в первый раз, лучше создать копию всего файла. Если что-то пойдёт не так, можно будет просто закрыть его и переписать макрос в созданной копии.

  • Макрос выполняет свой алгоритм только для записанного диапазона таблиц.

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

Для начала записи макроса перейдём на вкладку «Разработчик» и нажмём кнопку «Записать макрос».

Нажимаем сюда, чтобы начать запись макроса
Скриншот: Skillbox Media

Появляется окно для заполнения параметров макроса. Нужно заполнить поля: «Имя макроса», «Сохранить в», «Сочетание клавиш», «Описание».

Так выглядит окно с параметрами макроса
Скриншот: Skillbox Media

«Имя макроса» — здесь нужно придумать и ввести название для макроса. Лучше сделать его логически понятным, чтобы в дальнейшем можно было быстро его найти.

Первым символом в названии обязательно должна быть буква. Другие символы могут быть буквами или цифрами. Важно не использовать пробелы в названии — их можно заменить символом подчёркивания.

«Сохранить в» — здесь нужно выбрать книгу, в которую макрос сохранится после записи.

Если выбрать параметр «Эта книга», макрос будет доступен при работе только в этом файле Excel. Чтобы макрос был доступен всегда, нужно выбрать параметр «Личная книга макросов» — Excel создаст личную книгу макросов и сохранит новый макрос в неё.

«Сочетание клавиш» — здесь к уже выбранным двум клавишам (Ctrl + Shift в системе Windows и Option + Cmd в системе macOS) нужно добавить третью клавишу. Это должна быть строчная или прописная буква, которую ещё не используют в других быстрых командах компьютера или программы Excel.

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

«Описание» — необязательное поле, но лучше его заполнять. Например, можно ввести туда последовательность действий, которые планируется записать в этом макросе. Так не придётся вспоминать, какие именно команды выполнит этот макрос, если нужно будет запустить его позже. Плюс будет проще ориентироваться среди других макросов.

В нашем случае с форматированием таблицы заполним поля записи макроса следующим образом и нажмём «ОК».

Заполняем поля и жмём «ОК», чтобы начать запись
Скриншот: Skillbox Media

После этого начнётся запись макроса — в нижнем левом углу окна Excel появится значок записи.

Началась запись макроса — теперь в него попадут все клики мышки и нажатия клавиш
Скриншот: Skillbox Media

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

Важно: в нашем случае у таблиц продаж за январь, февраль и март одинаковое количество столбцов, но разное количество строк. Чтобы в случае со второй и третьей таблицей макрос сработал корректно, при форматировании выделим диапазон так, чтобы в него попали не только строки самой таблицы, но и строки ниже неё. Для этого нужно выделить столбцы в строке с их буквенным обозначением A–G, как на рисунке ниже.

Так макрос будет работать и для таблиц с большим количеством строк
Скриншот: Skillbox Media

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

Так макрос отформатирует только выбранные строки: если в других таблицах строк окажется больше, они останутся в первоначальном виде
Скриншот: Skillbox Media

После всех манипуляций с оформлением таблица примет такой вид:

Так выглядит таблица после форматирования
Скриншот: Skillbox Media

Проверяем, все ли действия с таблицей мы выполнили, и останавливаем запись макроса. Сделать это можно двумя способами:

  • Нажать на кнопку записи в нижнем левом углу.
  • Перейти во вкладку «Разработчик» и нажать кнопку «Остановить запись».

Нажимаем сюда, чтобы остановить запись макроса
Скриншот: Skillbox Media

Готово — мы создали макрос для форматирования таблиц в границах столбцов A–G. Теперь его можно применить к другим таблицам.


Запускаем макрос

Перейдём в лист со второй таблицей «Февраль_2022». В первоначальном виде она такая же нечитаемая, как и первая таблица до форматирования.

Так выглядит таблица до запуска макроса
Скриншот: Skillbox Media

Отформатируем её с помощью записанного макроса. Запустить макрос можно двумя способами:

  • Нажать комбинацию клавиш, которую выбрали при заполнении параметров макроса — в нашем случае Option + Cmd + Ф.
  • Перейти во вкладку «Разработчик» и нажать кнопку «Макросы».

Нажимаем сюда, чтобы вызвать панель для выбора макроса
Скриншот: Skillbox Media

Появляется окно — там выбираем макрос, который нужно запустить. В нашем случае он один — «Форматирование_таблицы». Под ним отображается описание того, какие действия он включает. Нажимаем «Выполнить».

Нажимаем сюда, чтобы запустить макрос для форматирования таблицы
Скриншот: Skillbox Media

Готово — вторая таблица с помощью макроса форматируется так же, как и первая.

За пару секунд с помощью макроса исходная таблица принимает такой вид
Скриншот: Skillbox Media

То же самое можно сделать и на третьем листе для таблицы продаж за март. Более того, этот же макрос можно будет запустить и в следующем квартале, когда сервис автосалона выгрузит таблицы с новыми данными.

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

  • Что такое приложения Visual Basic (макросы VBA)
  • Использование макросов VBA в Excel для создания отчетов
  • Понимание переменных, условий и циклов в VBA
  • Создание переменных в макросах VBA
  • Использование условий в макросах VBA
  • Использование циклов в макросах VBA
  • Ярлыки
  • Пакет инструментов анализа
  • Описательная статистика
  • Создание гистограммы
  • Скользящие средние
  • Расширенная генерация случайных чисел
  • Создание случайного образца
  • Вывод

Что такое приложения Visual Basic (макросы VBA)

VBA — это язык программирования, разработанный Microsoft для использования с офисным пакетом Microsoft, таким как Word, Access, Excel и другие. Он используется для настройки приложений в соответствии с потребностями бизнеса. Это мощный и удобный инструмент для многократного выполнения операции, а также помогает в анализе данных. VBA используется для доступа к функциям приложений и управления ими в некоторых других приложениях. Финансовая отчетность и анализ выполняются эффективным и действенным образом с использованием макросов VBA.

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

Использование макросов VBA в Excel для создания отчетов

Чтобы использовать VBA в Excel, убедитесь, что вкладка «Разработчик» присутствует на вкладке «Меню».

Если параметр разработчика недоступен на вкладке «Меню», нажмите кнопку «Office» à «Параметры Excel» à установите флажок «Показать вкладку разработчика» и нажмите кнопку «ОК».

Сделав эту опцию доступной, вы можете начать использовать Visual Basic. На вкладке Разработчик выберите параметр Visual Basic

Нажмите Вставить меню à Параметр формы пользователя

Выберите опцию Label из панели инструментов

Щелкните правой кнопкой мыши на ярлыке, и вы получите диалоговое окно «Свойства», в котором вы можете ввести подпись для ярлыка.

Теперь выберите значок «Текстовое поле» на панели инструментов и оставьте его рядом с полем «Метка». Затем щелкните правой кнопкой мыши на текстовом поле и во всплывающем меню «Свойства» введите имя для текстового поля в свойстве «Имя».

Повторите шаги, чтобы добавить столько меток и текстового поля, которое вы хотите ввести в область формы пользователя.

Теперь выберите опцию Command Button на панели инструментов и поместите ее в форму. Щелкните правой кнопкой мыши и во всплывающем окне свойств введите нужную команду из свойства «Заголовки».

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

Перед вставкой кода необходимо установить ссылку, которая поможет вам получить доступ к базе данных VB. Для выбора ссылок Меню Инструменты à Ссылки

В диалоговом окне выберите тип библиотеки, которую вы хотите использовать. На этом рисунке установлен флажок Microsoft ActiveX Data Objects 2.6 Library.

В окне кода введите код, который используется для запуска команды. Код находится между «Private Sub CommandButton1_Click ()» и End Sub.

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

После ввода кода вам необходимо создать макросы для данных. Перейдите на вкладку «Разработчик» à «Макросы», чтобы использовать меню «Макросы».

Введите имя макроса для отчета и нажмите кнопку «Создать».

Введите код для формы между опцией Sub и End Sub

После того, как все эти шаги сделаны, теперь у вас все готово для запуска отчета.

Для запуска отчета выполните следующие действия:

Нажмите на меню макросов на вкладке разработчика

Выберите имя макроса из списка и нажмите кнопку «Выполнить»

Введите необходимые данные для генерации отчета.

Наконец, отчет генерируется в соответствии с вашими потребностями.

Понимание переменных, условий и циклов в VBA

Сначала давайте посмотрим, что означают все три термина в VBA

Переменная — это небольшая часть системной памяти, которая используется для хранения данных

Условие — это логическая проверка, которую компьютер выполняет для проверки чего-либо

Цикл — это набор инструкций, которым необходимо следовать определенное количество раз

Теперь посмотрим, как использовать все эти три в VBA.

Создание переменных в макросах VBA

Если вы хотите использовать переменную в макросах VBA, сначала вам нужно их создать. DIM — это оператор, который используется для создания любой переменной.

Ниже приведены несколько примеров созданных переменных.

  • Dim someNumber As Integer — Это говорит о том, что вы собираетесь использовать некоторую переменную Number для хранения только целочисленных значений. Это используется в VBA как someNumber = 7, что означает, что он хранит 7 в переменной someNumber
  • Dim myList (1-10) As String — эта строка означает, что вы хотите использовать список значений в виде String (Text). И размер списка ограничен 10. Это используется как myList (5) = 792, означает, что оно устанавливает значение 5-го элемента в массиве myList равным 792.
  • Dim otherNumber As Double
  • Dim anotherList () в качестве варианта
  • Dim someText As String
  • Dim myCells As Range
  • Dim myChart As Chart
  • Dim aCondition As Boolean

Использование условий в макросах VBA

Все в компьютере включает в себя принятие решений и условия тестирования. Есть много утверждений для проверки условий. Мало что объясняется ниже для вашего понимания

Если тогда заявление

Использование оператора If действительно легко в макросах VBA. Вот пример, чтобы проверить условия покупки

Если наша покупка 6000, то

специальные инструкции для обработки слишком много или слишком мало покупок

конец, если

Остальное заявление

Оператор Else используется, когда условие If не выполнено.

Если наша покупка 6000, то

специальные инструкции для обработки слишком много или слишком мало покупок

еще

Запишите покупки и двигайтесь дальше

конец, если

Использование циклов в макросах VBA

Существует несколько способов написания циклов в VBA. Здесь мы упомянули самый простой тип петли для вашего легкого понимания

Для петли

For Loop используется для повторения набора инструкций для определенного количества раз

Для storeNumber = от 20 до 50

позвонить в магазин

спросите цифры продаж

сделай что-нибудь, если нужно

‘вешать трубку

Следующий магазинNumber

Для каждой петли

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

Для каждой ячейки в диапазоне («B1: B10»)

cell.value = cell.value + 2

Следующая клетка

Ярлыки

Есть несколько важных ярлыков, которые вы должны знать при использовании VBA в Excel

  • ALT + F11 — для просмотра VBA Editor, также известного как VBE
  • ALT + F8 — для отображения всех макросов
  • ALT + Q: закрыть редактор VBA и вернуться в Excel
  • F5: запустить макрос
  • F2: Показать объект браузера
  • F7: Показать редактор кода
  • CTRL + G: открыть немедленное окно
  • F1: Показать справку

Пакет инструментов анализа

Analysis ToolPak — это надстройка, которая является встроенной программой по умолчанию в Microsoft Excel. Это инструмент анализа данных, который помогает в анализе финансовых, статистических и инженерных данных. Вы всегда можете сэкономить свое время и энергию с помощью Analysis ToolPak.

Вам просто нужно предоставить данные для анализа, и Analysis ToolPak использует соответствующую функцию макроса и отображает результат в выходной таблице. Они также иногда создают графики вместе с отчетами.

Чтобы загрузить пакет инструментов анализа, выполните следующие простые действия.

Перейдите на вкладку «Зеленый файл» и нажмите «Параметры».

В раскрывающемся списке «Управление» выберите «Надстройки Excel» и нажмите «Перейти».

В диалоговом окне «Надстройки» установите флажок «Analysis ToolPak» и нажмите «ОК».

Если опция Analysis ToolPak недоступна, нажмите «Обзор». Если он доступен, установите флажок напротив параметра «Пакет инструментов анализа» и нажмите «ОК».

Теперь на вкладке «Данные» вы можете нажать «Анализ данных».

Наконец, вы можете выбрать вариант, который вам нужно сделать в Excel. На рисунке ниже гистограмма выбрана для создания гистограммы в Excel для заданных данных.

В пакете Analysis ToolPak доступно всего 19 вариантов анализа данных. Они перечислены ниже

  • Anova: однофакторный
  • Anova: двухфакторный с репликацией
  • Anova: двухфакторный без репликации
  • корреляция
  • ковариации
  • Описательная статистика
  • Экспоненциальное сглаживание
  • F-тест два образца для дисперсии
  • Анализ Фурье
  • Гистограмма
  • Скользящая средняя
  • Генерация случайных чисел
  • Ранг и проценты
  • регрессия
  • отбор проб
  • t-тест: два парных образца для средних
  • t-тест: две выборки, предполагающие равные отклонения
  • t-тест: две выборки, предполагающие неравные отклонения
  • Z-тест: два образца для среднего

Немногие из этих методов анализа данных подробно объясняются ниже со скриншотами того же

Описательная статистика

После того как Analysis ToolPak установлен, вы получите диалоговое окно Data Analysis, где у вас есть список вариантов. Выберите Описательную статистику. После выбора этой опции вы получите диалоговое окно, как показано на рисунке ниже

В диалоговом окне вы можете ввести такие данные, как диапазон исходных данных, где должны отображаться результаты и какие результаты должны отображаться. Ниже приведен вывод описательной статистики

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

Создание гистограммы

Гистограмма — это набор значений в определенных диапазонах. Диапазоны известны как бункеры в гистограмме. В том же диалоговом окне «Анализ данных» выберите параметр «Гистограмма». Вы получите диалоговое окно, как показано на рисунке ниже

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

Диалоговое окно гистограммы также дает вам возможность создать диаграмму вместе с выводом. Это даст вам легкое понимание.

Скользящие средние

Эта опция поможет вам определить тенденции в последовательных данных. Исходные данные здесь основаны на периодах, и среднее значение всегда рассчитывается для ряда периодов. Ниже приведено диалоговое окно скользящих средних

В этом диалоговом окне вы можете выбрать диапазон исходных данных, шаг интервала и диапазон вывода. Шаг интервала является основным фактором скользящих средних, поскольку выходные данные основаны на этом. Это также дает вам возможность создать диаграмму в выводе, как показано ниже

На этом рисунке вы можете ясно видеть, что 6 ячеек, начиная с D4, не возвращают никакого значения, поскольку мы ввели шаг Интервал как 7.

Расширенная генерация случайных чисел

Это один из параметров в диалоговом окне «Анализ данных». Как только он будет выбран, вы увидите диалоговое окно «Генерация случайных чисел» ниже.

Даже в Excel есть эта опция, но опция генерирования случайных чисел в Analysis ToolPak гораздо более продвинутая, чем в Excel. Здесь вы можете больше контролировать

  • Количество переменных
  • Количество случайных чисел
  • Случайная скорость

В диалоговом окне вы можете увидеть раскрывающийся список, в котором вы можете выбрать тип и параметры распространения для каждого из них.

Создание случайного образца

Одним из параметров в диалоговом окне «Анализ данных» является «Выборка». Нажав на эту опцию, вы увидите другое диалоговое окно, как показано на рисунке ниже.

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

Этот метод очень прост и может помочь вам мгновенно создать образец.

Вывод

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

Связанные курсы: —

  1. Базовый курс VBA и макросов
  2. Продвинутый курс VBA и макросы
  3. Комплексное обучение VBA и макросам
  4. Как использовать для каждого цикла в VBA

Понравилась статья? Поделить с друзьями:
  • Макрос уменьшение картинок в word
  • Макросов создание папки для excel
  • Макросы excel для автозаполнения
  • Макрос указать на ячейку excel
  • Макросов в excel по выгрузке данных