0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>11 янв 2024</li>
2
<ul><li>11 янв 2024</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Статья для тех, кто хочет разобраться в языке макросов. Рассказали, что такое VBA и для чего он нужен.</p>
4
</ul><p>Статья для тех, кто хочет разобраться в языке макросов. Рассказали, что такое VBA и для чего он нужен.</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6
<p>Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры - пять лет в банке и три - в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.</p>
6
<p>Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры - пять лет в банке и три - в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.</p>
7
<p>VBA - внутренний язык программирования для программ Microsoft Office. С помощью него пишут макросы - мини-программы, которые одним нажатием кнопки выполняют в документе сразу несколько действий.</p>
7
<p>VBA - внутренний язык программирования для программ Microsoft Office. С помощью него пишут макросы - мини-программы, которые одним нажатием кнопки выполняют в документе сразу несколько действий.</p>
8
<p>В статье рассказываем, как VBA используют в Excel и как он работает. Материал будет полезен всем, кто активно пользуется Excel и хочет понять, как устроено программирование внутри него.</p>
8
<p>В статье рассказываем, как VBA используют в Excel и как он работает. Материал будет полезен всем, кто активно пользуется Excel и хочет понять, как устроено программирование внутри него.</p>
9
<ul><li><a>Что такое</a>VBA</li>
9
<ul><li><a>Что такое</a>VBA</li>
10
<li><a>Что можно делать</a>с помощью VBA в Excel</li>
10
<li><a>Что можно делать</a>с помощью VBA в Excel</li>
11
<li><a>Как работает</a>VBA в Excel</li>
11
<li><a>Как работает</a>VBA в Excel</li>
12
<li><a>Сложно ли программировать</a>на языке VBA</li>
12
<li><a>Сложно ли программировать</a>на языке VBA</li>
13
<li><a>Как узнать больше</a>об автоматизации задач в Excel</li>
13
<li><a>Как узнать больше</a>об автоматизации задач в Excel</li>
14
</ul><p>В статье нет подробных инструкций по программированию с помощью VBA. Мы объясняем принципы работы VBA, которые дадут общее представление об этом языке.</p>
14
</ul><p>В статье нет подробных инструкций по программированию с помощью VBA. Мы объясняем принципы работы VBA, которые дадут общее представление об этом языке.</p>
15
<p>VBA (Visual Basic for Applications) - язык программирования, упрощённая версия языка<a>Visual Basic</a>.</p>
15
<p>VBA (Visual Basic for Applications) - язык программирования, упрощённая версия языка<a>Visual Basic</a>.</p>
16
<p>Его разработала компания Microsoft специально для линейки своих продуктов - Excel, Word, PowerPoint, Access, Outlook. Также VBA используют и в других программах - например, в AutoCAD, SolidWorks и CorelDRAW.</p>
16
<p>Его разработала компания Microsoft специально для линейки своих продуктов - Excel, Word, PowerPoint, Access, Outlook. Также VBA используют и в других программах - например, в AutoCAD, SolidWorks и CorelDRAW.</p>
17
<p>VBA нужен для того, чтобы расширить возможности этих программ. Например, чтобы добавить новые функции, которые не предусмотрены базовыми версиями программ, но регулярно нужны пользователю. Или чтобы автоматизировать повторяющиеся действия.</p>
17
<p>VBA нужен для того, чтобы расширить возможности этих программ. Например, чтобы добавить новые функции, которые не предусмотрены базовыми версиями программ, но регулярно нужны пользователю. Или чтобы автоматизировать повторяющиеся действия.</p>
18
<p>С помощью VBA создают маленькие программы - макросы, которые выполняют заданную последовательность действий в программах.</p>
18
<p>С помощью VBA создают маленькие программы - макросы, которые выполняют заданную последовательность действий в программах.</p>
19
<p>Например, можно написать макрос, который отсортирует данные в таблице по вашим правилам, удалит дублирующиеся значения и сформирует отчёт. Это удобно, когда нужно выполнять подобные задачи регулярно. VBA сделает их автоматически, сэкономит время и уменьшит риск ошибок.</p>
19
<p>Например, можно написать макрос, который отсортирует данные в таблице по вашим правилам, удалит дублирующиеся значения и сформирует отчёт. Это удобно, когда нужно выполнять подобные задачи регулярно. VBA сделает их автоматически, сэкономит время и уменьшит риск ошибок.</p>
20
<p>Чаще всего VBA в Excel используют, чтобы автоматизировать повторяющиеся действия, расширить возможности электронных таблиц и взаимодействовать с другими программами MS Office.</p>
20
<p>Чаще всего VBA в Excel используют, чтобы автоматизировать повторяющиеся действия, расширить возможности электронных таблиц и взаимодействовать с другими программами MS Office.</p>
21
<p><strong>Автоматизация повторяющихся действий.</strong>Допустим, пользователю необходимо создать оглавление для Excel-файла. Это можно сделать вручную: создать новый лист в начале документа, выписать на него названия всех остальных листов и поставить ссылки на эти листы.</p>
21
<p><strong>Автоматизация повторяющихся действий.</strong>Допустим, пользователю необходимо создать оглавление для Excel-файла. Это можно сделать вручную: создать новый лист в начале документа, выписать на него названия всех остальных листов и поставить ссылки на эти листы.</p>
22
<p>Если таких листов не много, это можно делать и вручную. Но если листов больше - например, 15 - или если оглавления нужно создавать для каждого Excel-файла, действия лучше автоматизировать, чтобы оглавление для любого числа листов появлялось после нажатия одной кнопки. С помощью обычных функций Excel это сделать невозможно. В таких случаях используют язык VBA и макросы.</p>
22
<p>Если таких листов не много, это можно делать и вручную. Но если листов больше - например, 15 - или если оглавления нужно создавать для каждого Excel-файла, действия лучше автоматизировать, чтобы оглавление для любого числа листов появлялось после нажатия одной кнопки. С помощью обычных функций Excel это сделать невозможно. В таких случаях используют язык VBA и макросы.</p>
23
<p><strong>Расширение возможностей Excel.</strong>С помощью VBA в Excel можно добавлять пользовательские функции, которых нет в стандартном приложении. Например, можно создать функцию, которая считает количество уникальных значений, - такой функции в Excel нет.</p>
23
<p><strong>Расширение возможностей Excel.</strong>С помощью VBA в Excel можно добавлять пользовательские функции, которых нет в стандартном приложении. Например, можно создать функцию, которая считает количество уникальных значений, - такой функции в Excel нет.</p>
24
<p><strong>Взаимодействие с другими программами Microsoft.</strong>Например, VBA позволяет объединить данные файлов разных программ MS Office. С его помощью можно перенести данные из текстового документа, созданного в Word, в файл Excel и настроить связь между ними. Это значит, что, если пользователи поменяют данные в Word-файле, эти данные сразу обновятся и в Excel.</p>
24
<p><strong>Взаимодействие с другими программами Microsoft.</strong>Например, VBA позволяет объединить данные файлов разных программ MS Office. С его помощью можно перенести данные из текстового документа, созданного в Word, в файл Excel и настроить связь между ними. Это значит, что, если пользователи поменяют данные в Word-файле, эти данные сразу обновятся и в Excel.</p>
25
<p>С развитием Excel VBA стали использовать реже. Потому что, хотя он довольно прост в изучении, это всё-таки язык программирования. Чтобы им пользоваться, нужно изучить<a>синтаксис языка</a>, понять<a>объектную модель Excel</a>и так далее.</p>
25
<p>С развитием Excel VBA стали использовать реже. Потому что, хотя он довольно прост в изучении, это всё-таки язык программирования. Чтобы им пользоваться, нужно изучить<a>синтаксис языка</a>, понять<a>объектную модель Excel</a>и так далее.</p>
26
<p>Сейчас большинство задач, для которых раньше использовали макросы, можно решить с помощью встроенных в Excel надстроек<a>Power Query</a>и <a>Power Pivot</a>, а также новых функций, работающих с динамическими массивами (УНИК/UNIQUE, СОРТ/SORT, ФИЛЬТР/FILTER и других). Программирование макросов с помощью VBA применяют только для решения более сложных или уникальных задач.</p>
26
<p>Сейчас большинство задач, для которых раньше использовали макросы, можно решить с помощью встроенных в Excel надстроек<a>Power Query</a>и <a>Power Pivot</a>, а также новых функций, работающих с динамическими массивами (УНИК/UNIQUE, СОРТ/SORT, ФИЛЬТР/FILTER и других). Программирование макросов с помощью VBA применяют только для решения более сложных или уникальных задач.</p>
27
<p>Общий принцип работы таков. Пользователь пишет на языке VBA последовательность действий, которую нужно выполнить внутри программы. Получается макрос. Когда требуется выполнить заданную последовательность, этот макрос запускают. Это делают сочетанием клавиш или кликом по кнопке меню - в зависимости от того, что выберет пользователь при создании макроса. Ещё макросы могут запускаться по событию - например, при открытии книги Excel.</p>
27
<p>Общий принцип работы таков. Пользователь пишет на языке VBA последовательность действий, которую нужно выполнить внутри программы. Получается макрос. Когда требуется выполнить заданную последовательность, этот макрос запускают. Это делают сочетанием клавиш или кликом по кнопке меню - в зависимости от того, что выберет пользователь при создании макроса. Ещё макросы могут запускаться по событию - например, при открытии книги Excel.</p>
28
<p>Макрос можно создать тремя способами:</p>
28
<p>Макрос можно создать тремя способами:</p>
29
<ul><li>записать с помощью макрорекордера;</li>
29
<ul><li>записать с помощью макрорекордера;</li>
30
<li>написать код самостоятельно в редакторе Visual Basic в Excel;</li>
30
<li>написать код самостоятельно в редакторе Visual Basic в Excel;</li>
31
<li>скопировать готовый код - например, из разных справочников или форумов в интернете - и адаптировать его к своим задачам.</li>
31
<li>скопировать готовый код - например, из разных справочников или форумов в интернете - и адаптировать его к своим задачам.</li>
32
</ul><p>Запись макроса с помощью рекордера работает так. Пользователь, находясь в Excel-файле, нажимает кнопку записи и выполняет все действия, которые хочет включить в макрос, - например, создаёт оглавление.</p>
32
</ul><p>Запись макроса с помощью рекордера работает так. Пользователь, находясь в Excel-файле, нажимает кнопку записи и выполняет все действия, которые хочет включить в макрос, - например, создаёт оглавление.</p>
33
<p>Подробно о том, как записать макрос с помощью рекордера, мы рассказывали в <a>этой статье</a>. В ней есть пошаговая инструкция со скриншотами. С её помощью создать макрос сможет даже начинающий пользователь Excel.</p>
33
<p>Подробно о том, как записать макрос с помощью рекордера, мы рассказывали в <a>этой статье</a>. В ней есть пошаговая инструкция со скриншотами. С её помощью создать макрос сможет даже начинающий пользователь Excel.</p>
34
Окно для записи макроса в Excel<em>Скриншот: курс Skillbox " <a>Excel с нуля до PRO</a>"</em><p>После остановки записи Excel "переводит" каждое выполненное действие на язык VBA и выдаёт алгоритм в виде кода. При необходимости пользователь может зайти в редактор Visual Basic (Alt + F11) и отредактировать полученный код вручную - дописать самостоятельно или удалить некоторые фрагменты.</p>
34
Окно для записи макроса в Excel<em>Скриншот: курс Skillbox " <a>Excel с нуля до PRO</a>"</em><p>После остановки записи Excel "переводит" каждое выполненное действие на язык VBA и выдаёт алгоритм в виде кода. При необходимости пользователь может зайти в редактор Visual Basic (Alt + F11) и отредактировать полученный код вручную - дописать самостоятельно или удалить некоторые фрагменты.</p>
35
<p>В этом же редакторе пишут код с нуля или вставляют готовые фрагменты и дорабатывают их.</p>
35
<p>В этом же редакторе пишут код с нуля или вставляют готовые фрагменты и дорабатывают их.</p>
36
Так выглядит редактор Visual Basic в Excel<em>Скриншот: курс Skillbox " <a>Excel с нуля до PRO</a>"</em><p>Чаще всего пользователи комбинируют все три способа создания макроса. Например, чтобы не писать код с нуля, они начинают с записи макрорекордером или вставляют в редактор готовые части кода. А уже потом "допиливают" код под свои потребности.</p>
36
Так выглядит редактор Visual Basic в Excel<em>Скриншот: курс Skillbox " <a>Excel с нуля до PRO</a>"</em><p>Чаще всего пользователи комбинируют все три способа создания макроса. Например, чтобы не писать код с нуля, они начинают с записи макрорекордером или вставляют в редактор готовые части кода. А уже потом "допиливают" код под свои потребности.</p>
37
<p>Ещё для написания макросов удобно использовать нейросети. Например, можно подробно описать свою задачу в ChatGPT, и он выдаст готовый код. В некоторых случаях полученный код можно использовать даже без доработки.</p>
37
<p>Ещё для написания макросов удобно использовать нейросети. Например, можно подробно описать свою задачу в ChatGPT, и он выдаст готовый код. В некоторых случаях полученный код можно использовать даже без доработки.</p>
38
<p>Язык VBA довольно дружелюбен по отношению к пользователю. Например, он автоматически выставляет регистр для названий свойств, методов и команд - в отличие от языка M, встроенного в Power Query. Также в нём много инструментов для поиска ошибок в коде и для его отладки.</p>
38
<p>Язык VBA довольно дружелюбен по отношению к пользователю. Например, он автоматически выставляет регистр для названий свойств, методов и команд - в отличие от языка M, встроенного в Power Query. Также в нём много инструментов для поиска ошибок в коде и для его отладки.</p>
39
<p>Человек, который хорошо ориентируется в Excel, может легко освоить VBA, даже если до этого никогда не программировал. Например, с помощью инструмента для записи макросов. Он несовершенен, но позволяет посмотреть, как называются разные действия программы на языке VBA.</p>
39
<p>Человек, который хорошо ориентируется в Excel, может легко освоить VBA, даже если до этого никогда не программировал. Например, с помощью инструмента для записи макросов. Он несовершенен, но позволяет посмотреть, как называются разные действия программы на языке VBA.</p>
40
<p>Ещё в работе с макросами помогает то, что в интернете можно найти много готовых примеров кода, которые можно изучать и адаптировать к своим задачам.</p>
40
<p>Ещё в работе с макросами помогает то, что в интернете можно найти много готовых примеров кода, которые можно изучать и адаптировать к своим задачам.</p>
41
<ul><li>VBA - язык программирования, созданный компанией Microsoft. С помощью VBA записывают макросы, которые выполняют заданную последовательность действий в программах после нажатия кнопки меню или сочетания клавиш.</li>
41
<ul><li>VBA - язык программирования, созданный компанией Microsoft. С помощью VBA записывают макросы, которые выполняют заданную последовательность действий в программах после нажатия кнопки меню или сочетания клавиш.</li>
42
<li>VBA используют, чтобы автоматизировать повторяющиеся действия пользователей, расширять возможности программ и объединять данные файлов разных программ MS Office.</li>
42
<li>VBA используют, чтобы автоматизировать повторяющиеся действия пользователей, расширять возможности программ и объединять данные файлов разных программ MS Office.</li>
43
<li>В Excel для решения большинства задач, которые раньше выполняли с помощью макросов, сейчас можно использовать надстройки Power Query и Power Pivot.</li>
43
<li>В Excel для решения большинства задач, которые раньше выполняли с помощью макросов, сейчас можно использовать надстройки Power Query и Power Pivot.</li>
44
<li>Можно написать код на языке VBA с нуля, можно записать его с помощью макрорекордера, а можно взять готовый и при необходимости доработать.</li>
44
<li>Можно написать код на языке VBA с нуля, можно записать его с помощью макрорекордера, а можно взять готовый и при необходимости доработать.</li>
45
<li>VBA - довольно простой язык. Если у человека нет опыта программирования, но он хорошо разбирается в Excel, освоить этот язык будет легко.</li>
45
<li>VBA - довольно простой язык. Если у человека нет опыта программирования, но он хорошо разбирается в Excel, освоить этот язык будет легко.</li>
46
</ul><ul><li>Для того чтобы автоматизировать задачи в Excel, используют макросы. Это алгоритмы действий, записанные в одну команду. С помощью них можно выполнить несколько шагов в Excel, нажав одну кнопку в меню или сочетание клавиш. В Skillbox Media есть<a>инструкция по работе с макросами для новичков</a>. </li>
46
</ul><ul><li>Для того чтобы автоматизировать задачи в Excel, используют макросы. Это алгоритмы действий, записанные в одну команду. С помощью них можно выполнить несколько шагов в Excel, нажав одну кнопку в меню или сочетание клавиш. В Skillbox Media есть<a>инструкция по работе с макросами для новичков</a>. </li>
47
<li>Для обработки больших объёмов данных в Excel есть надстройка Power Query. С помощью неё можно выгружать таблицы из источников разных форматов и приводить их к удобному для анализа виду. Рассказали об этом подробно в статье "<a>Power Query в Excel: для чего это нужно и как работает. Инструкция со скриншотами</a>".</li>
47
<li>Для обработки больших объёмов данных в Excel есть надстройка Power Query. С помощью неё можно выгружать таблицы из источников разных форматов и приводить их к удобному для анализа виду. Рассказали об этом подробно в статье "<a>Power Query в Excel: для чего это нужно и как работает. Инструкция со скриншотами</a>".</li>
48
<li>Для дальнейшей работы с выгруженными данными - например, для того, чтобы связать их с данными других таблиц, создать удобные отчёты для анализа или базу данных, - в Excel есть надстройка Power Pivot. Больше о том, как ей пользоваться, - в <a>этой статье</a>Skillbox Media.</li>
48
<li>Для дальнейшей работы с выгруженными данными - например, для того, чтобы связать их с данными других таблиц, создать удобные отчёты для анализа или базу данных, - в Excel есть надстройка Power Pivot. Больше о том, как ей пользоваться, - в <a>этой статье</a>Skillbox Media.</li>
49
<li>Для тех, кто хочет стать профессионалом в Excel, в Skillbox есть курс "<a>Excel + "Google Таблицы“ с нуля до PRO</a>". Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.</li>
49
<li>Для тех, кто хочет стать профессионалом в Excel, в Skillbox есть курс "<a>Excel + "Google Таблицы“ с нуля до PRO</a>". Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.</li>
50
<li>Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива "<a>Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня</a>". Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.</li>
50
<li>Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива "<a>Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня</a>". Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.</li>
51
</ul><a>Курс-тренажёр: "Excel + "Google Таблицы" с нуля до PRO" Узнать о курсе</a>
51
</ul><a>Курс-тренажёр: "Excel + "Google Таблицы" с нуля до PRO" Узнать о курсе</a>