Макросы в excel бухгалтер

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

1.Автозаполнение формул в таблице Excel

Кроме непосредственных обязанностей бухгалтеру могут добавить функции по подготовке коммерческих предложений, расчета договорных цен и прочее. Для выполнения расчетов необходимо применять различные коэффициенты и поправки, а также конвертировать цены. И главное, выполнять все действия быстро и без ущерба обязанностям. Эксель для бухгалтера поможет в подготовке основного документа, который можно выполнять на рабочем листе, а дополнительные расчеты на отдельных. Так, пересчитывая курс, в одной ячейке можно указать цену, во второй курс валюты, а в третьей задать формулу пересчета (= первая ячейка * вторая ячейка), далее нажать Enter и получить цену. В первом листе в нужной ячейке можно поставить “=”, перейти на второй лист и указать третью ячейку с итогом. Опять нажать Enter и получить результат. Если необходимо провести такие расчеты по большому количеству пунктов, где изменяется только цена, то можно воспользоваться фундаментальным приемом Excel — автозаполнение формул, или протягивание. Возможность протягивать формулы — одно из базовых функций программы. Она автоматизирует процесс подсчета данных в таблице, без многократного прописывания одной и той же формулы. Выполнять протягивание формул можно следующим образом. В строке формул ставим равно и ссылку на ячейку из таблицы с исходными данными (=А3). После этого получим просто дублирование значения из таблицы. При протягивании этой ячейки получится копия таблицы с данным, которые будут изменяться соответственно со сменой информации в исходной таблице. Это пример протягивания ячеек без фиксирования диапазонов.

Можно закрепить ссылку, чтобы оставить ее неизменной при протягивании полностью, по строке или по столбцу. Фиксирование выполняется в строке формул с помощью знака $. Этот знак ставят перед той частью координат в ссылке, которую необходимо зафиксировать: $ перед буквой – фиксирование по столбцу — $С1 $ перед цифрой – фиксирование по строке — С$1 $ перед буквой и цифрой – полное фиксирование ячейки — $С$1.

2.Подсчет календарных дней

Excel может стать незаменимым помощником даже в таких простых действиях, как подсчет календарных дней. Бухгалтеру необходимо точно знать сколько дней было в том или ином периоде, чтобы рассчитать проценты, размер пени, неустойки, кредита и тому подобное. Если это небольшой отрезок времени, то его просто посчитать, воспользовавшись календарем, но для выполнения постоянных расчетов такой формат достаточно неудобен. В таких ситуациях приходит Excel в помощь бухгалтеру. Чтобы выполнить расчеты, необходимо выделить три свободных ячейки в таблице. В одну нужно записать начальную дату, во вторую конечную, а третью оставить пустой для получения результатов.
Рекомендация: набирайте дату на цифровой части клавиатуры так: 12/10/2016. Программа сама превратит введенные данные в формат даты и получится 12.10.2016. Далее выбираем третью ячейку и жмем “Вставить функцию”, вы можете найти ее по значку ¶x. После нажатия всплывет окно “Мастер функций”. Из списка “Категория” выбираем “Дата и время”, а из списка “Функция”— “ДНЕЙ360” и нажимаем кнопку Ок. В появившемся окне нужно вставить значения начальной и конечной даты. Для этого нужно просто щелкнуть по ячейкам таблицы с этими датами, а в строке “Метод” поставить единицу и нажать Ок. Если итоговое значение отражено не в числовом формате, нужно проверить формат ячейки: щелкнуть правой кнопкой мыши и выбрать из меню “Формат ячейки”, установить “Числовой формат” и нажать Ок. Еще можно выполнить подсчет дней таким способом: в третьей ячейке набрать = ДНЕЙ 360 (В1; В2; 1). В скобках необходимо указать координаты двух первых ячеек с датами, а для метода поставить значение единицы. При расчете процентов за недели можно полученное количество дней разделить на 7. Также к дате можно прибавлять и отнимать любое количество дней. Чтобы это выполнить, нужно в одной ячейке написать дату, во второй разместить знак равенства, затем щелкнуть по ячейке с датой и набрать “+” или “-” и требуемое количество дней.

3.Сортировка данных

Очень удобная функция, которая позволяет разместить данные по возрастанию/убыванию. Также сортировать данные можно и для упорядочивания записей по дате. Для выполнения этого действия необходимо выбрать область, которая требует сортировки. Затем можно нажать кнопку “Сортировка по возрастанию” в верхнем ряду меню “Данные”, ее вы найдете по знаку “АЯ”. Ваши данные разместятся от меньшего к большему по первому выделенному столбцу.

Таблицы Эксель для бухгалтера позволяют сортировать данные, начиная с первого выделенного столбца. Если вы выделили ячейки слева направо, то последовательность будет выполнена в крайнем левом столбце. Если справа налево, то в правом. Если данные нужно сортировать по среднему столбцу, то можно использовать меню “Данные” — пункт “Сортировка” — “Сортировка диапазона”. В разделе “Сортировать по” необходимо выбрать столбец и тип сортировки.

4.Работа с длинными таблицами

Таблицы Excel для бухгалтера — многофункциональный рабочий инструмент, который содержит множество информации для ведения отчетности и выполнения текущих расчетов. При печати таблицы, которая не умещается на один лист, можно разместить ее “шапку” на каждой отдельной страничке, что облегчит поиск необходимых данных. Для этого нужно выбрать в меню “Файл”— “Параметры страницы” и закладку “Лист”. Размещаем курсор на “Сквозные строки” или “Сквозные столбцы” и в таблице кликаем на строки, которые нужно разместить на каждом листе. Также для работы с такими документами можно использовать колонтитулы. В них отмечают необходимые данные, такие как дата, номера листов, имя составителя и прочее. Настройка колонтитулов доступна в “Параметрах страницы” — “Колонтитулы”. Там доступны готовые варианты разметки или возможность добавления собственного. Кроме полезных приемов по работе в Эксель, бухгалтеру необходимо освоить его горячие клавиши.

5.Сопоставление показателей за разные периоды

Часто данные за разные годы, кварталы, месяцы приходится сравнивать. Чтобы их сопоставить, нужно выбрать критерий — уникальный показатель для каждой единицы учета, например, артикул. Для этого используем функцию “ВПР” (“VLOOKUP”), которая к значениям по заданному критерию из первой таблицы подберет соответствующие из второй таблицы.

Чтобы сравнить, например, цены на товары, следуйте алгоритму:
На панели инструментов заходим в функции(“fx”) и выбираем “ВПР”. В появившемся окне указываем для нее аргументы:

  • Искомое значение — критерий;
  • Таблица — диапазон данных из второй таблицы, среди которых нужно найти соответствующие;
  • Номер столбца — диапазон данных, к которым будут подбираться соответствующие;
  • Интервальный просмотр — это степень соответствия, нам нужно точное, поэтому выбираем 0.

Копируем формулу до конца столбца. Сообщение ”#Н/Д” значит, что для указанного артикула во второй таблице значений не обнаружено.

На заметку!

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

6.Поиск показателей, соответствующих условиям

Возможности Excel облегчают поиск нужных данных. Разберем на примере поиска задолженности контрагента. Для этого:

  • Рядом с таблицей, в которой будем искать, добавляем таблицу с условиями поиска. Для этого копируем шапку и в соответствующие столбцы вводим критерии поиска, используя знаки сравнения: «>», «<», «=».
  • Заходим на вкладку “Данные” и выбираем пункт “Фильтр — Дополнительно”.

В открывшемся окне указываем:

  • Исходный диапазон — полностью таблица, в которой будем искать;
  • Диапазон условий — таблица с критериями поиска.

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

7.Поиск ошибок в таблицах

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

В появившемся окне указываем:

  • Тип данных — выбираем “список”;
  • Источник — выделяем диапазон с образцовым списком.

В первом столбце таблицы появится кнопка “Список”. Ею можно пользоваться, чтобы в дальнейшем вводить данные без ошибок.

Далее выбираем пункт “Проверка данных — Обвести неверные данные” и ячейки, в которых есть опечатки, будут выделены овалом.

8.Формирование сводной таблицы

Подведение итогов за какой-то период — неотъемлемая часть работы бухгалтера. Формирование сводной таблицы с итоговыми показателями значительно упростит дело.

Для этого следуйте инструкции:

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

На заметку!

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

9.Выбор показателей в пределах лимита

Чтобы отобрать расходы в пределах установленного лимита, нужно выполнить в Excel следующие действия:

  • Заходим на вкладку “Файл”, выбираем пункт “Параметры Excel – Надстройки”.
  • В открывшемся окне ставим галочку напротив пункта “Поиск решения” и кликаем “Ок”( надстройка “Поиск решения”появится на вкладке “Данные”).

В свободной ячейке рядом с таблицей указываем предельную сумму(S1), а ниже находим S2. Для этого используем формулу “=СУММПРОИЗВ(Диапазон1*Диапазон)”, где: Диапазон1 — столбец со значениями, среди которых мы подбираем нужные; Диапазон2 — столбец, где будет указано, какие значения нужно сложить. Ниже находим разность S1 и S2 по формуле “=ABS(S1-S2)”. Переходим на вкладку “Данные”, выбираем пункт “Поиск решения”.

В открывшемся окне указываем:

  • Установить целевую ячейку: ячейка с формулой “=ABS(S1-S2)”;
  • Равной: минимальному значению;
  • Изменяя ячейки: Диапазон2 — столбец, где будет указано, какие значения нужно сложить; Ограничения: добавляем для Диапазон2 и выбираем опцию “бин” (“двоич”).

Кликаем “Найти решение” или “Выполнить”и сохраняем результат. Напротив нужных сумм увидим единицы, напротив ненужных – нули.
При сложении отобранных программой значений получим число, максимально приближенное к предельному значению.

10.Определение влияния изменения данных на конечный расчет

А теперь научимся отслеживать, как изменение данных отражается на конечном расчете, на примере сметы расходов:

  • Заходим на вкладку “Формулы” и выбираем пункт “Окно контрольного значения”.
  • В открывшемся окне выбираем “Добавить контрольное значение” и указываем ячейку с итоговой суммой. Можно добавить сразу несколько контрольных показателей.
  • Теперь при переходе на другой лист контрольное окно будет оставаться на экране. При изменении данных на других листах будет сразу видно, как это влияет на итоговые показатели.


11.Функция ЕСЛИ и выпадающий список

Одна из самых востребованных функций в Excel – функция ЕСЛИ. Она возвращает результат (значение или другую формулу) в зависимости от условия.
Функцию ЕСЛИ создают по такому синтаксису: ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])
Лог_выражение – это условие, которое нужно проверить.
Значение_если_истина – это то, что должно появиться в ячейке, если текст или цифра отвечают указанным требованиям.
Значение_если_ложь – то, что появится в ячейке, когда определится, что данные не соответствуют заданным параметрам.
Пример: =ЕСЛИ(В2>200;”Ок”;”Удалить”)


Функция проверяет ячейку В2 и сравнивает ее с логическим выражением – “>200”. Если истинное значение содержит цифру больше 200, то в столбце С появляется значение “Ок”, если меньше – “Удалить”.

Выпадающий список в Excel можно создать за пару кликов. Для этого необходимо:
1.Открыть таблицу с данными, которые нужно добавить в выпадающий список. Для версии Excel 2003 и более ранних делайте это через меню Вставка — Имя — Присвоить (Insert — Name — Define).
2.Для версий Excel 2007 и моложе нужно кликнуть на вкладку “Формулы”- “Диспетчер имен” и “Создать”. Введите название позиций (например Счета на оплату услуг), которые хотите сгруппировать и подтвердите его через “Ок”. Важно: имя должно быть без пробелов и начинаться с буквы.
3.Выделить ячейки, которые должны стать выпадающим списком. Выберите меню из вкладки “Данные” — “Проверка” (Data — Validation). Из предложенного списка выберите “Тип данных”, введите строку “Источник”= название вашего диапазона Счета на оплату услуг. Готово!

12.Набор горячих клавиш Excel, без которых вам не обойтись

Применение этих сочетаний клавиш в Excel ускорит работу и поможет в выполнении анализа данных, построении графиков и форматировании таблиц.
F4 — при вводе формулы, регулирует тип ссылок (относительные, фиксированные). Можно использовать для повтора последнего действия.
Shift+F2 — редактирование примечаний
Ctrl+; — ввод текущей даты (для некоторых компьютеров Ctrl+Shift+4)
Ctrl+’ — копирование значений ячейки, находящейся над текущей (для некоторых компьютеров работает комбинация Ctrl+Shift+2)
Alt+F8 — открытие редактора макросов
Alt+= — суммирование диапазона ячеек, находящихся сверху или слева от текущей ячейки
Ctrl+Shift+4 — определяет денежный формат ячейки
Ctrl+Shift+7 — установка внешней границы выделенного диапазона ячеек
Ctrl+Shift+0 — определение общего формата ячейки
Ctrl+Shift+F — комбинация открывает диалоговое окно форматирования ячеек
Ctrl+Shift+L — включение/ отключение фильтра
Ctrl+S — сохранение файла (сохраняйтесь как можно чаще, чтобы не потерять ценные данные).

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

Не останавливайтесь на Excel!
Научитесь автоматизировать подготовку отчетов в программе Power BI на курсе «ACPM: Бизнес-анализ данных в финансах»!

Посмотреть пробный урок бесплатно

Насколько уверенно вы владеете Excel?

Очень часто в своей профессиональной деятельности финансовым работникам приходится сталкиваться с обработкой больших объемов данных, выполнять однообразные повторяющиеся операции над данными. В итоге время, которое приходится на эту работу в разы превосходит анализ информации и принятие решений. Как автоматизировать процессы и превратить рутинную работу в творчество с помощью 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 для НЕпрограммистов» 


Все блоги


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

Как записать самый простой макрос?

Для начала запишем самый легкий макрос — зададим в ячейке А1 формат вида 12 345:

  •  Открываем новую книгу, в ячейке А1 набираем шестизначное число 123456. Сейчас оно выдается без разделителей разрядов. Запишем макрос, который ставит эти разделители.
  •  Заходим на панели инструментов в закладку Вид*, находим кнопку Макросы, жмем Запись макроса. В появившемся окне задаем имя макроса и книгу, в которой хотим этот макрос сохранить.

Важно

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

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

  •  Выбираем Сохранить в… —  Личная книга макросов и нажимаем Ок (рис. 1).

Рис. 1. Запись макроса в личную книгу макросов

  •  Записываем в макрос действия, которые хотим выполнить: вызываем контекстное меню Формат ячеек (можно воспользоваться комбинацией клавиш Сtrl+1) и задаем нужный нам формат числа: на закладке Число идем в блок (все форматы) и выбираем там формат вида # ##0.

К сведению

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

  •  На закладке Вид — Макросы выбираем пункт Остановить запись.

Второй, более быстрый способ остановить запись макроса — нажать на появившийся в левом нижнем углу синий квадратик (рис. 2.).

Мы рекомендуем

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

Проверяем, что макрос записан и работоспособен:

  •  в ячейку А2 вбиваем любое шестизначное число;
  •  запускаем макрос одним из двух способов: на закладке Вид — Макросы выбираем пункт Макросы или нажимаем комбинацию клавиш Alt+F8, находим в списке наш макрос и нажимаем кнопку Выполнить.

Рис. 2. Форматирование числа и остановка записи макроса

Итак, вы записали свой первый макрос! Примите поздравления. Теперь давайте познакомимся с личной книгой макросов и синтаксисом написания команд для макроса.

Личная книга макросов

По умолчанию Excel не отображает личную книгу макросов. Чтобы убедиться, что она открыта, выбираем на вкладке Вид кнопку Отобразить — в появившемся окне должна быть книга под именем PERSONAL.

Мы убедились, что книга открыта, но отображать ее не будем, чтобы потом по ошибке не закрыть ее. По сути, в этой книге нас интересует так называемый Исходный текст — блок, в котором записываются макросы. Чтобы увидеть это окно, нажмите клавиши Alt+F11 или кликните правой кнопкой мыши на ярлыке любого листа Excel и выберите в контекстном меню Исходный текст. Откроется окно VBA-кодирования в Excel (рис. 3). Оно состоит из двух блоков:

1. В левой части экрана окно Project – VBAProject — это проводник, в котором отображаются все открытые в данный момент книги Excel (даже если вы их не видите, как, например, книгу Personal). Работа с этим блоком аналогична работе в обычном проводнике — двойной клик по наименованию книги раскрывает ее содержимое. Нас интересует блок Modules — Module1. Кликаем левой кнопкой мыши дважды по этому объекту.

2. В правой части экрана откроется блок записи и редактирования макросов. Здесь уже автоматически записался Макрос1. Рассмотрим на его примере основную канву макроса.

Рис. 3. Окно VBA-кодирования в Excel

Синтаксис макроса

Макросы — это команды, написанные на языке VBA (Visual Basic for Applications). И синтаксис кода макроса не отличается от записи кода в Visual Basic.

Любой макрос имеет следующий вид:

Sub Имя_Макроса_Без_Пробелов()

‘ комментарии к макросу — они нужны для вас, VBA не воспринимает такие строки как команды

команды, написанные на языке VBA

End Sub

3 обязательных блока макроса:

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

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

2. Блок команд. В нашем примере он состоит из одной строки: Selection.NumberFormat = «#,##0»

Каждая команда должна начинаться с новой строки. Если текст команды очень длинный и не помещается на экране, его можно разбить на несколько строк, заканчивая строку символом нижнего подчеркивания _ (далее в примере мы это увидим).

3. Конец макроса. Всегда обозначается как End Sub.

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

Обратите внимание!

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

Теперь запишем более сложный макрос и научимся понимать текст его кода.

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

Нам необходимо:

  •  выделить групповые строки полужирным шрифтом;
  •  отформатировать на печать — расположить отчет по центру листа, задать масштаб 75 %, вывести в колонтитулы название отчета (рис. 4).

Рис. 4. Изменения после написания макроса

Запишем алгоритм форматирования отчета в макрос.

Нажимаем кнопку записи макроса и выполняем следующие действия:

  •  Даем макросу имя Форматирование_БДР, в блоке описания записываем, что будет делать этот макрос (например, Выделяет жирным курсивом итоги, форматирует на печать). Жмем Ок.
  •  Выделяем столбцы А:С, ставим автофильтр — на закладке Данные находим кнопку Фильтр.
  •  По столбцу КОД задаем условие не содержит точку: Текстовые фильтры — Не содержит и в поле текста ставим символ точки без пробелов (рис. 5).

Рис. 5. Использование автофильтра по столбцу «КОД»

  •  Выделяем отфильтрованный диапазон и задаем ему полужирный шрифт.
  •  Снимаем автофильтр (повторное нажатие на закладке Данные кнопки Фильтр).
  •  Заходим в меню форматирования на печать (Кнопка Файл/Office — Печать — Предварительный просмотр — Параметры страницы) и задаем там три параметра:

1) на вкладке Страница задаем масштаб 75 %;

2) на вкладке Поля отмечаем пункт Горизонтально в блоке Центрировать на странице;

3) на вкладке Колонтитулы создаем верхний колонтитул с текстом Бюджет на январь.

  •  Выходим из параметров страницы.
  •  Заканчиваем запись макроса.
  •  Нажимаем Alt+F11 и смотрим, что получилось (см. рис. 4).

Код этого макроса уже гораздо длиннее и непонятнее, но легко читаем для знающих английский язык и азы программирования в VBA.

Правила написания команд в VBA

Любая команда макроса состоит из двух блоков, разделенных точкой:

Объект.Действие с объектом или свойство объекта

Объектами в Excel являются, например:

  •  книга: WorkBook, ActiveWorkbook;
  •  лист, листы: WorkSheet, ActiveSheet, Sheets;
  •  ячейка: Cells(1,1) — в скобках указываются номера строки (Row) и столбца (Column) ячейки на листе;
  •  диапазон ячеек (может быть и одна ячейка): Range(«А1:С5»), Range(«А1»);
  •  строки (Rows);
  •  столбцы (Columns);
  •  выделение (Selection) — выделенный в данный момент диапазон (это может быть как несколько смежных ячеек, так и смежные строки или столбцы).

Примеры действий с объектами:

  •  ActiveWorkbook.Save — сохранить рабочую книгу (та, которая была активна в момент вызова пользователем макроса);
  •  Sheets(«Лист3»).Name = «Отчет» — переименовать «Лист3» в «Отчет»;
  •  Sheets(«Отчет»).Activate — перейти на лист с названием «Отчет»;
  •  Range(«А1»).Copy — скопировать в буфер обмена данные из ячейки А1;
  •  Rows(«13:13»).Delete Shift:=xlUp — удалить строку 13 со сдвигом вверх.

Примеры свойств объектов:

  •  ActiveCell.FormulaR1C1 = «БДР» — в выделенной (активной) ячейке записан текст «БДР»;
  •  ActiveCell.Row < 65 — номер ряда активной ячейки меньше 65.

Помнить все названия объектов, команд и свойств для написания несложных макросов не обязательно. Вы всегда можете сначала записать ваши стандартные действия с отчетами в Excel, а потом отформатировать код макроса, убрав из него лишние действия или заменив некоторые заданные параметры (например, длину диапазона) на переменные (которые в дальнейшем макрос будет запрашивать у пользователя или рассчитывать самостоятельно).

Но об этом мы расскажем далее, а сейчас обратимся к коду нашего первого макроса, состоящего из одной строки:

Selection.NumberFormat = «#,##0»

Суть его в следующем: к объекту Выделенный диапазон (у нас одна ячейка, но это может быть и весь столбец/строка или диапазон смежных ячеек) применяется свойство Числовой формат вида # ##0 (если помните, именно этот формат мы выбрали в списке).

Код макроса Форматирование_БДР и расшифровка строк кода представлены в таблице.

 

Строка кода

Расшифровка

Sub Форматирование_БДР()

Начало макроса, имя макроса

Пустая строка комментариев (ставится автоматически при записи макроса)

‘ Форматирование_БДР Макрос

Автоматически добавленный комментарий при записи макроса — может быть удален без потери работоспособности макроса

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

Автоматически добавленный комментарий при записи макроса из поля Описание

Пустая строка — не влияет на суть исполнения макроса, но их полезно добавлять для разделения блоков команд внутри кода

   Columns(«A:C»).Select

Выделить (Select) объект Столбцы (Columns) А:С

    Selection.AutoFilter

Применить автофильтр (AutoFilter) для выделенного диапазона (Selection)

    ActiveSheet.Range(«$A$1:$C$34″).AutoFilter Field:=1, Criteria1:=»<>*.*», _

Задать критерий отбора «не содержит точку»

        Operator:=xlAnd

Продолжение команды из предыдущей строки.

Обратите внимание: предыдущая строка закончилась символом нижнего подчеркивания _, значит, текст команды не уместился на одну строку и окончание команды перенесено на следующую

    Range(«A1:C34»).Select

Выделить (Select) объект Диапазон (Range) А1:С34.

Обратите внимание: какой бы длины ни был ваш следующий отчет, для которого вы будете применять этот макрос, выделится всегда только диапазон до 34 строки!

Как сделать этот диапазон любой длины — обсудим немного позже

    Selection.Font.Bold = True

Для выделенного диапазона (Объект Selection) установить свойство «полужирный шрифт» (Font.Bold = True). Если нужно отменить какое-то свойство, пишем False

    Selection.AutoFilter

Снять автофильтр (при записи макроса это было повторное нажатие кнопки Фильтр на закладке Данные)

    With ActiveSheet.PageSetup

Начало процедуры With (используется, если далее перечисляются свойства или действия с одним и тем же объектом для компактности записи кода).

Для объекта ActiveSheet (Текущий лист) применить следующие параметры свойства PageSetup (Параметры печати):

        .PrintTitleRows = «»

Печатать на каждой странице сквозные строки — пусто (то есть данное свойство не задано пользователем)

        .PrintTitleColumns = «»

Печатать на каждой странице сквозные столбцы — пусто

    End With

Окончание процедуры With

    ActiveSheet.PageSetup.PrintArea = «»

Заданная область печати — пусто (то есть пользователь не ограничил область печати, следовательно, на экран будет выведено все, что есть на листе)

    With ActiveSheet.PageSetup

Начало процедуры With

Для объекта Текущий лист применить следующие параметры печати (цветом выделены те, которые мы изменили по сравнению со стандартными):

        .LeftHeader = «»

Левый верхний колонтитул — пусто

        .CenterHeader = «Бюджет на январь»

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

        .RightHeader = «»

Правый верхний колонтитул — пусто

        .LeftFooter = «»

Левый нижний колонтитул — пусто

        .CenterFooter = «»

Центральный нижний колонтитул — пусто

        .RightFooter = «»

Правый нижний колонтитул — пусто

        .LeftMargin = Application.InchesToPoints(0.708661417322835)

Размеры левого поля

        .RightMargin = Application.InchesToPoints(0.708661417322835)

Размеры правого поля

        .TopMargin = Application.InchesToPoints(0.748031496062992)

Размеры верхнего поля

        .BottomMargin = Application.InchesToPoints(0.748031496062992)

Размеры нижнего поля

        .HeaderMargin = Application.InchesToPoints(0.31496062992126)

Размеры верхнего колонтитула

        .FooterMargin = Application.InchesToPoints(0.31496062992126)

Размеры нижнего колонтитула

        .PrintHeadings = False

Не печатать заголовки строк и столбцов (False — пользователь не отметил этот пункт)

        .PrintGridlines = False

Не печатать сетку

        .PrintComments = xlPrintNoComments

Не печатать примечания

        .PrintQuality = 600

Качество печати — 600 точек на дюйм

        .CenterHorizontally = True

Центрировать на странице горизонтально (True — пользователь отметил этот пункт)

        .CenterVertically = False

Не центрировать по вертикали

        .Orientation = xlPortrait

Ориентация страницы — книжная

        .Draft = False

Пользователь не отметил пункт Черновая в блоке Печать

        .PaperSize = xlPaperA4

Размер бумаги А4

        .FirstPageNumber = xlAutomatic

Номер первой страницы — автоматически

        .Order = xlDownThenOver

Последовательность вывода страниц: вниз, потом вправо (пункт в блоке Печать)

        .BlackAndWhite = False

Пользователь не отметил пункт Черно-белая в блоке Печать

        .Zoom = 75

Масштаб 75 %

        .PrintErrors = xlPrintErrorsDisplayed

Пункт в блоке ПечатьОшибки ячеекКак на экране

        .OddAndEvenPagesHeaderFooter = False

Пользователь не задавал разные колонтитулы для четных и нечетных страниц (флажок в блоке Колонтитулы)

        .DifferentFirstPageHeaderFooter = False

Пользователь не задавал отдельный колонтитул для первой страницы (флажок в блоке Колонтитулы)

        .ScaleWithDocHeaderFooter = True

Флажок в блоке Колонтитулы – Изменять вместе с масштабом страницы отмечен пользователем

        .AlignMarginsHeaderFooter = True

Флажок в блоке Колонтитулы – Выровнять относительно полей страницы отмечен пользователем

        .EvenPage.LeftHeader.Text = «»

Текст колонтитулов для четных и первой страниц не задан

        .EvenPage.CenterHeader.Text = «»

        .EvenPage.RightHeader.Text = «»

        .EvenPage.LeftFooter.Text = «»

        .EvenPage.CenterFooter.Text = «»

        .EvenPage.RightFooter.Text = «»

        .FirstPage.LeftHeader.Text = «»

        .FirstPage.CenterHeader.Text = «»

        .FirstPage.RightHeader.Text = «»

        .FirstPage.LeftFooter.Text = «»

        .FirstPage.CenterFooter.Text = «»

        .FirstPage.RightFooter.Text = «»

    End With

Окончание процедуры With

End Sub

Окончание кода макроса

Редактирование макроса

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

Sub Форматирование_БДР()

‘ Макрос выделяет жирным курсивом итоги, форматирует отчет на печать

‘——————

‘ Выделяем столбцы и ставим фильтр по столбцу КОД

 Columns(«A:C»).Select

 Selection.AutoFilter

 ActiveSheet.Range(«$A$1:$C$34″).AutoFilter Field:=1, Criteria1:=»<>*.*», _

 Operator:=xlAnd

‘ Выделяем отфильтрованный диапазон полужирным шрифтом, снимаем фильтр

 Range(«A1:C34»).Select

 Selection.Font.Bold = True

 Selection.AutoFilter

 ‘ Форматируем на печать: верхний колонтитул, центрирование по горизонтали, масштаб 75 %

 With ActiveSheet.PageSetup

 .CenterHeader = «Бюджет на январь»

 .CenterHorizontally = True

 .Zoom = 75

 End With

End Sub

Ввод в код макроса функций и процедур

Теперь усложним код макроса, задав ему два параметра:

1. Название месяца отчета запрашиваем у пользователя.

2. Последняя строка отчета БДР (в случае если она плавающая) рассчитывается в коде макроса.

Функция InputBox

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

Zapros = InputBox(«Текст запроса», <«Текст в шапке окна»>, <Значение по умолчанию>,…)

где Zapros — введенная вами переменная (имя придумываете вы сами), а в скобках через запятую перечисляются аргументы функции.

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

Для удобства присвойте полученное значение функции InputBox какой-нибудь введенной вами переменной, особенно если в коде макроса вы будете несколько раз использовать значение этой функции.

Важно

Имена вводимых переменных не должны совпадать с уже занятыми VBA словами под название объектов, свойств или функций!

В нашем примере присвоим результат вызова функции InputBox переменной Mes.

Например, нельзя завести свою переменную Range, Cells или Month — компилятор VBA предупредит вас, что делать этого нельзя, и не запустит макрос, пока вы не устраните ошибку (рис. 6).

Рис. 6. Пример ошибки при заведении переменной

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

Итак, приступим к редактированию кода макроса. Добавим в самое начало кода макроса строки:

‘ Запрашиваем у пользователя месяц отчета

Mes = InputBox(«Введите название месяца отчета», , «Январь»)

Теперь при запуске макроса будет выводиться диалоговое окно, в котором пользователь самостоятельно сможет указать, за какой месяц этот отчет (рис. 7).

Рис. 7. Диалоговое окно для указания месяца

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

Процедура While

Используется в коде, если надо сделать одинаковые действия несколько раз подряд до тех пор, пока выполняется какое-либо условие. Синтаксис процедуры While:

Do While <условие, которое должно быть верным для выполнения процедуры>

 <список команд>

Loop

Условие может состоять из одного выражения или содержать несколько, перечисленных через оператор AND (то есть оба условия должны быть выполнены) или OR (достаточно выполнения только одного из перечисленных условий). Также условие обязательно должно содержать переменную-счетчик (это может быть номер строки или столбца ячейки, значения которой вы проверяете).

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

Если макрос ушел в цикл, прервите его с помощью комбинации клавиш Ctrl+Break и либо прекратите макрос (кнопка End), либо зайдите в код макроса и исправьте ошибку (кнопка Debug). Чтобы макрос не уходил в цикл, рекомендуется включить в блок условий «защиту от дурака». Например, добавляем в условие проверку, чтобы значение счетчика не превышало определенной, заведомо достаточной для нас величины.

Рассмотрим применение процедуры While для поиска конца отчета БДР.

Как видно на рис. 4, последняя строка отчета имеет код «500». Напишем процедуру, которая будет проверять значения в ячейках столбца «А» и остановит свои действия, когда найдет ячейку с кодом «500».

Обратите внимание!

Excel иногда воспринимает числа как текст, поэтому включим два условия проверки значения ячейки и добавим «защиту от дурака» на случай, если в форме отчета случайно затрется код последней строки.

Помним, что все текстовые значения надо брать в кавычки. Числа записываем без кавычек:

‘ Ищем последнюю строку отчета

Dim Row_End As Integer     ‘ Вводим переменную «счетчик номера строки»

Row_End = 1             ‘ Присваиваем ей номер 1

‘ Начинаем процедуру поиска последней строки отчета по коду «500»

Do While Cells(Row_End, 1).Value <> «500» And Cells(Row_End, 1).Value <> 500 And Row_End < 100

‘ До тех пор, пока код не равен 500 и номер строки меньше 100, выполняем наращивание счетчика

Row_End = Row_End +1

Loop

Таким образом, процедура While нам нужна только для наращивания счетчика — никаких дополнительных действий она не производит. Запомните этот прием — он часто нужен в кодировании.

Теперь заменим в изначальном коде макроса номер последней ячейки (34) на переменную Row_End. Число 34 было частью текста А1:С34, а теперь нам надо часть текста заменить на переменную. Делается это с помощью символа амперсанд &:

«текст» & переменная & «текст».

В нашем случае ссылка на диапазон А1:С34 будет записана так: А1:С & Row_End.

Кроме того, вспоминаем, что и название отчета Бюджет на январь у нас тоже теперь содержит параметр и будет записываться так: Бюджет на & Mes.

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

Еще раз взглянем на получившийся код макроса:

Sub Форматирование_БДР()

‘ Макрос выделяет жирным курсивом итоги, форматирует отчет на печать

‘ ——————

‘ Запрашиваем у пользователя месяц отчета

Mes = InputBox(«Введите название месяца отчета», , «Январь»)

‘ Ищем последнюю строку отчета

Dim Row_End As Integer     ‘ Вводим переменную «счетчик номера строки»

Row_End = 1             ‘ Присваиваем ей номер 1

‘ Начинаем процедуру поиска последней строки отчета по коду «500»

‘ Критичным значением для «защиты от дурака» принимаем номер строки 100

Do While Cells(Row_End, 1).Value <> «500» And Cells(Row_End, 1).Value <> 500 And Row_End < 100

‘ До тех пор, пока код не равен 500 и номер строки меньше 100, выполняем наращивание счетчика

Row_End = Row_End +1

Loop

‘ Выделяем столбцы и ставим фильтр на КОД

 Columns(«A:C»).Select

 Selection.AutoFilter

 ActiveSheet.Range(«$A$1:$C$» & Row_End).AutoFilter Field:=1, Criteria1:=»<>*.*», _

 Operator:=xlAnd

‘ Выделяем отфильтрованный диапазон полужирным шрифтом, снимаем фильтр

 Range(«A1:C» & Row_End).Select

 Selection.Font.Bold = True

 Selection.AutoFilter

‘ Форматируем на печать: верхний колонтитул, центрирование по горизонтали, масштаб 75 %

 With ActiveSheet.PageSetup

 .CenterHeader = «Бюджет на » & Mes

 .CenterHorizontally = True

 .Zoom = 75

 End With

End Sub

Теперь макрос стал более универсальным. Добавим в него еще одну «защиту от дурака».

Если нам принципиально, правильно ли макрос нашел последнюю строку отчета, после окончания процедуры While (строка Loop) можно добавить блок проверки значения Row_End и запроса у пользователя подтверждения на продолжение макроса.

Для этого изучим функцию MsgBox, процедуру IF и команду Exit Sub.

Функция MsgBox

MsgBox — еще один способ общения с пользователем: сообщения ему какой-то информации по ходу выполнения макроса или запрос у него подтверждения по дальнейшим действиям макроса путем нажатия на кнопки вида Yes, No, Ок, Cancel.

Она имеет два вида записи:

1. Мы просто сообщаем пользователю какую-то информацию. В этом случае аргументы функции перечисляются сразу же за функцией, без использования скобок:

MsgBox «Текст сообщения», <Вид кнопок>, <«Текст в шапке окна»>,…

На экране отобразится диалоговое окно, и после нажатия пользователем кнопки Ок продолжится выполнение макроса (рис. 8).

Рис. 8. Первый вид записи функции MsgBox

Как и в случае с функцией InputBox, обязательным здесь является только первый аргумент — Текст сообщения. Остальные можно даже не указывать, сократив вид записи функции до вида:

2. Нам важно, что ответил пользователь, мы записываем его ответ в значение какой-то переменной (рис. 9). В этом случае аргументы функции заключаются в скобки, а перед функцией обязательно должна стоять переменная, в которую мы записываем, на какую кнопку нажал пользователь:

YesNo = MsgBox(«Текст сообщения», <Вид кнопок>, <«Текст в шапке окна»>,…)

Рис. 9. Второй вид записи функции MsgBox

Варианты вида кнопок:

  •  vbOKOnly — только кнопка ОК;
  •  vbOKCanсel — кнопки ОК и Cancel;
  •  vbYesNo — кнопки Yes и No;
  •  vbYesNoCancel — кнопки Yes, No и Cancel.

Соответственно в зависимости от нажатой кнопки значения функции MsgBox могут быть vbOK, vbCancel, vbYes или vbNo.

Процедура If

С помощью данной процедуры можно разбить команды кода на две ветки в зависимости от выполнения заданного условия. Синтаксис процедуры If:

If <условие, которое должно быть верным> Then

 <список команд при выполнении указанного условия>

else

 <список команд при невыполнении указанного условия>

End If

Обязательным к заполнению является только условие. Список команд в обоих блоках заполнять не обязательно. В зависимости от ваших задач вы можете заполнить оба блока или только один из них. Условие может состоять из одного выражения или содержать несколько выражений, перечисленных через оператор AND (то есть оба условия должны быть выполнены) или оператор OR (достаточно выполнения только одного из перечисленных условий).

Команда Exit Sub

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

Итак, объединим новые знания в код «защиты от дурака» и запишем его после строки Loop:

‘ Проверяем, дошла ли процедура While до «критичной» строки 100

‘ и спрашиваем подтверждение о продолжении выполнения макроса

If Row_End = 100 Then      

YesNo = MsgBox(«Поиск последней строки отчета дошел до 100, продолжаем?», vbYesNo)

If YesNo = vbNo Then          ‘ Если нажата кнопка «No», то…

MsgBox «Процедура прервана пользователем»   ‘ 1. выдаем сообщение для пользователя,

Exit Sub          ‘ 2. останавливаем макрос

End If

End If

В нашем коде прошло вложение одной процедуры If в другую:

  •  сначала мы проверили, дошел ли счетчик Row_End до значения 100;
  •  если дошел, мы спрашиваем у пользователя, продолжать ли нам выполнение макроса;
  •  если пользователь ответил «нет», останавливаем макрос.

В обеих процедурах If мы опустили второй блок (else): если Row_End не достиг значения 100 или пользователь ответил «да», макрос просто покинет процедуру If и продолжит выполнять команды, написанные ниже.

Каждая процедура If должна заканчиваться командой End If. Если количество строк с командой If не будет соответствовать количеству строк с командой End If, компилятор VBA сообщит об ошибке и вам придется искать, где вы потеряли конец процедуры If.

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

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

Подведем итоги

Мы с вами научились:

  •  записывать макросы через команду Вид  Макросы  Запись макроса;
  •  редактировать автоматически записанный макрос, удалять из него лишние команды;
  •  унифицировать код макроса, вводя в него переменные, которые макрос запрашивает у пользователя или рассчитывает самостоятельно,

а также изучили функции InputBox и MsgBox, процедуры While и If, команду Exit Sub.

В следующем номере рассмотрим процедуру FOR, запишем макрос суммирования результирующих статей БДР, научимся тестировать макросы и выносить кнопки вызова макроса на панель быстрого доступа.


Статья опубликована в журнале «Справочник экономиста» № 4, 2016.

Автор: Your Mentor. Дата публикации: 25 октября 2020.

Многие из вас уже знакомы с программой Excel от Microsoft, но используете ли вы ее по полной? Применяете ли вы в своей работе популярные функции или сводные таблицы? Создаете ли вы макросы для автоматизации своих действий? Действительно ли вы считаете себя опытным пользователем Excel, как это сейчас принято писать в резюме?

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

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

Я расскажу вам, как делить данные в ячейках по разным столбцам и как создать выпадающий список. Вам будет нелишним узнать о полезной функции анализа «Что Если». Вы наконец-то научитесь применять популярные функции ЕСЛИ и ВПР в своей работе. Научитесь создавать сводные таблицы и создавать макросы для автоматизации ваших повторяющихся действий. Кстати, более углубленные знания в этом направлении, вы можете получить в платном курсе «Excel и Google-таблицы: от новичка до эксперта».

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

Урок 1. Меню и вкладки в Excel

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

Урок 2. Понимание книг и рабочих листов, строка состояния. Добавление и удаление строк и столбцов

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

Урок 3. Изучение методов ввода и редактирования данных. Шаблоны Excel и заметки

Ввод данных — одно из самых основных действий, которые мы делаем в Excel, но есть некоторые правила, некоторые концепции, с которыми вам следует ознакомиться. Этим мы и займемся в нашем третьем уроке.

Урок 4. Создание и копирование простых формул в Excel

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

Урок 5. Комбинированный подсчет, вычисление процентов, закрепить ячейку в формуле excel ($)

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

Урок 6. Функции СУММ, СРЕДНЕЕ, РАНГ, НАИБОЛЬШИЙ

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

Урок 7. Регулирование размера строк и столбцов, объединение ячеек, перенос записи, выравнивание и работа с границами

Сегодня мы разберем способы форматирования рабочей области Excel. Я предполагаю, что вы уже знакомы с некоторыми продуктами Microsoft Office, как, например, Word, поэтому я не буду рассматривать те функции, с которыми вы, скорее всего, уже знаете.

Урок 8. Числовой и финансовый формат. Даты и условное форматирование

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

Урок 9. Создание и форматирование таблицы. Фильтрация и срезы в Excel

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

Урок 10. Работа с фигурами, добавление рисунков и схемы SmartArt в Excel

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

Урок 11. Копирование и перенос строк таблицы, скрытие строк и столбцов. Найти и заменить в Excel

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

Урок 12. Как сделать диаграмму в excel

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

Урок 13. Форматирование диаграмм, Спарклайны, Гистограмма и диаграмма Парето в Excel

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

Урок 14. Как закрепить строку, разделить таблицу, и функция «группировать»  

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

Урок 15. Как перемещаться между книгами Excel и упорядочить несколько окон

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

Урок 16. Создание, копирование и группировка рабочих листов Excel

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

Урок 17. Как посчитать данные из разных листов и файлов в Excel

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

Урок 18. Сортировка и фильтрация данных в Excel

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

Урок 19. Как разделить текст в ячейке excel по столбцам. Удаление дубликатов

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

Урок 20. Проверка значений и как сделать выпадающий список в excel

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

Урок 21. Применение функции анализа «Что Если»

Сегодня мы рассмотрим полезную функцию Excel под названием «Анализ Что Если». Она будет вам полезна не только для подсчета финансовой деятельности предприятия, но и для собственных финансовых планов.

Урок 22. Функция ЕСЛИ в Excel. Подробное объяснение с примерами

Одна из самых мощных функций Excel называется функцией ЕСЛИ. По своей природе она почти похожа на программирование и открывает двери для другого образа мышления. Функция ЕСЛИ – это условная функция. Она позволяет нам давать несколько ответов в зависимости от условия. 

Урок 23. Функция ВПР в Excel. Подробное объяснение с примерами

Здесь мы рассмотрим очередную мощную функцию Excel, которая называется ВПР. В прошлом уроке мы рассматривали функцию ЕСЛИ, где мы задавали условие и, в зависимости от значения, программа предоставляла результат. Функция ВПР ищет значение в заданной области и предоставляет результат, который наиболее совместим с каким-нибудь заданным параметром.

Урок 24. Функции СЧЁТЕСЛИ и СУММЕСЛИ в Excel

Сегодня будет короткий урок, где мы закончим разбирать популярные функции Excel и рассмотрим две сразу: СЧЁТЕСЛИ и СУММЕСЛИ.

Урок 25. Как сделать сводную таблицу в Excel и манипулировать ее данными

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

Урок 26. Группировка и фильтры в сводной таблице excel. Сводные диаграммы.

Мы продолжаем работать со сводной таблицей, которую мы создали в прошлом уроке.

Урок 27. Создание простых макросов в Excel

Макрос – это способ автоматизировать вашу работу. Они применяются там, где пользователь изо дня в день выполняет определенные манипуляции в Excel и хочет вместо 5 или 10 шагов, выполнить действие одним сочетанием клавиш. Иногда применение некоторых макросов может занять две или три минуты, особенно если они связаны с большим количеством манипуляций с данными, но основная идея состоит в том, что вы определили конкретные действия, которые часто выполняете, и хотели бы их автоматизировать.

Урок 28. Как защитить рабочий лист или книгу и поделиться файлом Excel

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

Урок 29. Как печатать страницы и заголовки на каждой странице. Как вставить колонтитул в excel

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

Что еще интересного почитать

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

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

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

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

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

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



  • Надстройка PastePictures для MS Excel: общие сведения

    Предназначение программы: вставка изображений в таблицу Excel, поиск картинок в папке или в Google, экспорт картинок из таблицы в папку.
    Основные функции программы:

    вставка фото из папки (поиск по имени файла)
    вставка картинок по ссылкам из таблицы
    поиск изображений в гугл по данным с листа Excel
    экспорт изображений с листа в файлы…

  • Логотип надстройки Unification

    Программа «Прайс лист», выполненная в виде надстройки для Excel, позволяет легко автоматизировать обработку прайс-листов.
    Вспомните ситуацию: поставщики в очередной раз прислали свои прайс-листы в Excel — конечно, в совершенно разных форматах — и вам нужно объединить данные из всех этих файлов в одну таблицу. А составители этих таблиц будто специально хотели усложнить вам жизнь…

  • Сравнение столбцов в Excel, и подстановка значений в таблицу

    Программа предназначена для сравнения и подстановки значений в таблицах Excel.
    Если вам надо сравнить 2 таблицы (по одному столбцу, или по нескольким),
    и для совпадающих строк скопировать значения выбранных столбцов из одной таблицы в другую,
    надстройка «Lookup» поможет сделать это нажатием одной кнопки.
     
    То же самое можно сделать при помощи формулы =ВПР(), но:

    формулы…

  • Скриншот программы создания этикеток, наклеек, ценников и квитанций


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

    При помощи этой программы вы можете:

    распечатать ценники на товар, взяв данные из прайс-листа

    сформировать этикетки и наклейки для заданных строк вашей таблицы

    подготовить квитанции для оплаты услуг ЖКХ (счета за водоснабжение, канализацию, электроэнергию)…

  • Скриншот программы формирования договоров купли-продажи


    Программа предназначена для формирования (заполнения) договоров купли-продажи.
     
    Исходными данными выступает таблица сделок, и шаблон договора, в который при помощи формул подставляются значения из заданной строки таблицы сделок.
    Для запуска программы достаточно нажать зеленую кнопку — и сразу же начнётся формирование договоров (файлов Excel из одного листа) в автоматически созданной папке…

  • Данный макрос предназначен для поиска адресов электронной почты на листе Excel, с последующим выводом найденных адресов на отдельный лист.
    В прикреплённом файле, на первом листе («исходные данные»), ячейки заполнены неструктурированной информацией (смесь фамилий, адресов почты, прочей ненужной информации)
    Макрос вычленяет из текста ячеек адреса электронной почты, и выводит все найденные…

  • Скриншот надстройки поиска по всем листам Excel


    Надстройка SearchText предназначена для поиска заданного текста в книге Excel, с выводом результатов поиска на отдельный лист.
     
    При запуске надстройка формирует панель инструментов, с которой осуществляется запуск всех макросов:

    В Excel 2007 и 2010 панель инструментов можно найти на вкладке «Надстройки»:

    Надстройка SearchText является расширенной версией надстройки для…

  • Скриншот программы сравнения прайс-листов Excel


    Программа предназначена для сравнения цен конкурентов из их прайсов с прайс-листом вашей организации.

    ВНИМАНИЕ: Недавно разработана многофункциональная программа для обработки прайс-листов

    Новая программа объединения и обработки прайс-листов доступна на сайте для скачивания и тестирования на различных наборах прайс-листов.

    Исходными данными для программы являются:

    ваш прайс…

  • К примеру, есть у вас несколько десятков (или сотен) текстовых файлов с подобным содержимым:
    (количество файлов, и количество строк данных в каждом файле не ограничено)
    1c04;1J0-698-151-G;1 комплект тормозных накладок;1J0698151G;1J0698151G;5;1
    1c04;1H0698151A;Тормозные колодки;1H0698151A;1H0698151A;1;1
    1c04;1K0-698-151-B;Тормозные колодки;1K0698151B;1K0698151B;2;1
    А надо из всего этого…

  • Главное меню программы по работе с базой данных «Преподаватели»


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

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

    Эта база данных представляюет собой урезанную и немного изменённую версию программы АИСС СПК.

    Программа обеспечивает:

    Хранение полной…

  • Скриншот результатов поиска с выводом на отдельный лист


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

    Надстройка SearchExcel является упрощённой версией надстройки для поиска на всех листах книги Excel
    Смотрите также надстройку для…

  • Создание списка файлов из папки со значениями ячеек из этих файлов

    Макрос FilenamesWithValues предназначен для получения списка файлов Excel из заданной папки, и загрузки значений из каждого найденного файла.
    В отдельной ячейке задаётся путь к папке, которая будет просмотрена в поисках файлов Excel.
    При формировании списка файлов проставляются гиперссылки на найденные файлы, указывается дата создания файла.
    Из каждого файла загружаются значения с…

  • Форма редактирования и просмотра заказа


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

    Основные функции программы:

    создание (заполнение) новых заказов

    редактирование существующих заказов

    объединение нескольких заказов в один

    формирование заявки на продукцию на основании данных их сформированных заказов

    Для каждого заказа предусмотрен выбор клиента из базы данных (если клиент…

  • АИСС "Абитуриент" - форма ввода данных абитуриента


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

    АИСС обеспечивает выполнение всех необходимых операций по приему документов, поиску и анализу информации, составлению отчетов.

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

    Программа обеспечивает:

    Хранение полной…

  • Результат объединения данных из файлов Excel


    Программа предназначена для загрузки списка товаров из актов о приеме-передаче основных средств.
    Поддерживаются акты по формам № ОС-3.1 и № ОС-3.3, возможно добавить поддержку актов других форм (в формате Excel).
    При запуске макроса, выводится диалоговое окно выбора папки, после чего, в выбранной папке, производится поиск всех файлов Excel.
    Для каждого из найденных файлов Excel, программа…

  • Поиск трасс и просмотр ресурсов оборудования


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

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

     

    Особенность программы — возможность учёта и администрирования узлов связи с нестандартными…

  • Форма ввода данных о новом пациенте

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

     

  • Панель инструментов программы обработки телефонных номеров


    Программа предназначена для обработки объявлений о продаже недвижимости.
     

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

    разносить номера из ячеек по разным столбцам или строкам…

  • Форма подбора соответствия для модели ноутбука


    Программа предназначена для формирования прайс-листов на ноутбуки с соответствии с требованиями интернет-каталога Onliner.by

    Основные функции программы:

    (учитываются цены фирм-конкурентов, цены onliner.by и надбавка фирмы)

    загрузка каталога ноутбуков (названия, характеристики, цены) с сайта onliner.by в файл Excel, и обновление этого каталога

    назначение соответствий моделей…

  • Составление расписания занятий в Excel


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

  • Скриншот формы поиска файлов в заданной папке


    Надстройка, позволяющая загрузить из выбранной папки список файлов на лист Excel.
    Автор: VictorM

    Особенности надстройки:

    задаваемая пользователем глубина поиска в подпапках

    простановка гиперссылок на листе Excel на найденные файлы

    вывод дополнительных характеристик файла

    (размер файла, дата создания файла, полный путь)

    изменяемая маска поиска (поиск по части имени файла, по…

  • Результат формирования задания на производство

    Программа предназначена для формирования заданий на производство.
    Исходными данными выступают таблицы Excel и файлы XML.
    При конвертации таблиц происходит обработка данных и перестановка столбцов.
    При запуске программа формирует панель инструментов с 6 кнопками — для обработки файлов различной структуры.

  • Вид объединённого прайс-листа автозапчастей


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

    ВНИМАНИЕ: Описанная в данной статье программа послужила прототипом для новой, многофункциональной программы, где пользователь сам может настраивать обработку прайс-листов

    Новая программа объединения и обработки прайс-листов доступна на сайте для…

  • Результат обработки объявлений - таблица на листе Excel

    Программа предназначена для преобразования файлов формата .HTM с объявлениями о продаже недвижимости (файлы являются результатом сохранения веб-страниц с сайтов публикации объявлений) в формат Microsoft Excel.
    Программа производит анализ текста объвлений, распознаёт значения площади и этажности, отделяет второстепенные данные (комментарий) из текста объявления, преобразует различные форматы цен (…

  • Скриншот заголовка таблицы заказов из интернет-магазина, загруженных из писем в Outlook


    Программа анализирует поступившие заказы с интернет-магазина (письма в программе Outlook), извлекает необходимые данные из писем (в формате HTML), и формирует сводную таблицу заказов
     
    Файл программы состоит из 2 листов — на первом листе находятся кнопки запуска, на втором — шаблон создаваемой сводной таблицы заказов.
     

    Принцип работы программы:

    при нажатии зеленой кнопки,…

  • Программное формирование оглавления Книги заявок


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

    Цели программы:

    автоматизация составления и редактирования заявок

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

    формирование отчётов по категориям и типам заявок

    стандартизация печатной формы заявок

    разграничение доступа на работу с базой данных заявок

     …

  • Получение длительности медиафайла формулой Excel


    Узнать продолжительность (время) звучания аудиофайла (MP3, WAV и т.д.), или длительность видеофайла (видеоролика) из Excel совсем несложно.
    Используйте функцию ПродолжительностьМедиафайла:
    (функцию можно использовать как в макросах, так и на листе Excel)
    Sub Пример_Использования_Функции_ПродолжительностьМедиафайла()
    Путь = «E:MusicMODERN_TALKING With_a_little_love.mp3″…

  • Данные с сайта superjob.ru, загужаемые в таблицу Excel


    Программа предназначена для импорта данных о соискателях с сайта superjob.ru
    В качестве исходных данных для макроса, используется ссылка на результат поиска на сайте superjob.ru
    (которую можно получить, забив искомый текст в строке поиска сайта, и скопировав URL страницы результатов поиска из адресной строки браузера).
    Во время выполнения кода, происходит авторизация на сайте путем…

  • Формирование отчётов по предприятиям нефтегазодобывающей промышленности


    Программа предназначена для сбора данных из отчётов нефтедобывающих компаний.
     
    Исходными данными выступают файлы оперативной отчётности следующих типов:

    Добыча

    Переработка

    Сбыт

    Сервис

    Анализ

    На распределение

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

  • Форма выбора мероприятий для формирования отчёта


    Программа предназначена для вывода отчёта по мероприятиям налоговой инспекции.
     

    Исходные данные для обработки расположены на других листах того же файла Excel: 

    перечень мероприятий налогового контроля, проведенных в отношении контрагентов

    поручения об истребовании документов (информации)

    запросы в кредитные организации о предоставлении сведений по операциям на счетах…

  • Скриншот программы загрузки номеров телефонов с сайта объявлений abw.by


    Программа собирает в таблицу Excel номера телефонов из объявлений на сайте abw.by
    В ячейке листа Excel указывается количество дней, за которые будут обрабатываться объявления с сайта.
    (если указано 0 дней — обрабатываются только объявления за сегодняшнюю дату, если 1 день — сегодняшние и вчерашние, и т.д.
    Количество дней неограничено — влияет только на время загрузки данных)
    В каждом…

  • Вид программно создаваемой сводной таблицы и диаграммы


    Макрос предназначен для создания сводной таблицы и диаграммы для отчёта по трафику.

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

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

    При…

  • Скриншот таблицы Excel со списком папок и подпапок


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

  • Форма ввода записей в базу данных в Excel


    Данная программа предназначена для ввода данных о заказе и сортировки заказов по группам.

    Программа представляет собой шаблон Excel для создания, сортировки и сведения в общую таблицу, заказов различных категорий.
    (категории можно менять вручную на отдельном листе).
    Сотрудник регистрирует своё имя, выбирая его из выпадающего списка, а после выбора ФИО, в соседние поля подтягивается…

  • Отчёт по ликвидности портфелей ценных бумаг


    Программа предназначена для обработки отчётов управления по сделкам с ценными бумагами

    Основные функции программы:

    Создание новых отчётов управления (за следующий квартал) на основании текущих отчётов

    Внесение изменений и дополнений в существующие отчёты

    Формирование сводной таблицы по вкладам для оценки роста, а также коэффициентов ликвидности и версификации вкладов

    Обработка…

  • Промежуточные результаты отработки котировок

    Результат загрузки котировок из внешних файлов

    Программа позволяет загружать котировки различных валют из файлов формата .HTM, и анализировать их при различных параметрах анализа.
    Все котировки разбиваются на отдельные блоки (временные диапазоны для разбивки задаются на форме настроек), и анализ производится по каждому блоку в отдельности.
    Есть возможность исключить из расчётов данные за пятницу.
    Изменение параметров вычисления значений BS…

  • Пример обрабатываемого текстового файла, содержащего данные о компьютере


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

    Выбор папки с данными по всем компьютерам…

  • Форма выбора параметров запроса статистики


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

    В качестве исходных данных программа принимает:

    логин абонента

    дату начала и окончания периода сбора статистики

     

    Особенности программы:

    формирование отчётов по всему трафику, или только по оплачиваемому

    создание листа итогов с диаграммой (сразу видно, с какого сайта был…

  • Скриншот формируемого отчёта с характеристиками серверов


    Программа предназначена для формирования отчёта по серверам компании (список технических характеристик, IP адресов, установленного программного обеспечения)
    В качестве исходных данных для программы имеется выгрузка из Help Desk системы Acme в формате XLS, но этот отчёт, хоть и содержит все необходимые данные, крайне неудобен для анализа и дальнейшей обработки:

    Программа производит поиск…

  • Скриншот программы поиска и объединения файлов


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

  • Процесс анализа рисков инвестиционных проектов


    Программа предназначена для анализа ожидаемой доходности различных портфелей

    (рассматриваются всевозможные комбинации проектов)

    При помощи формул типа =СЛЧИС() на листах с характеристиками проектов генерируются различные комбинации исходных значений, на основании которых формулами рассчитывается доходность проекта.

    Методом Монте-Карло формируются массивы значений (по одному массиву для…

  • Настройка шаблона писем для рассылки детализации звонков


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

  • Запуск формирования списков игр

    Таблица "Полные данные ставок"

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

  • Скриншот листа коммерческого предложения - описание, фото и карта рекламной конструкции


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

    Список объектов должен содержать следующую информацию (в отдельных столбцах):

    адрес рекламной конструкции (щита)

    сторона рекламного щита или перетяжки (А, Б, В, и т.п.)

    ссылки на фото и карту рекламной конструкции
    (…

  • Форма вывода результатов проверки на совпадения

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

    Особенности данной программы:

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

  • Пример созданного оглавления прайс-листов отелей


    Надстройка предназначена для формирования оглавления прайс-листов, расположенных на отдельных листах книги Excel.

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

    Особенности программы:

    группировка строк каждого прайс-листа

    формирование обратных ссылок с прайс-листов на оглавление

     

Создание макросов в программе Microsoft Excel

Запись макроса в Microsoft Excel

​Смотрите также​ вкладки «Разработчик»:​Как записать готовый макрос​Insert — Module​Перетащите ее к себе​Новая книга​ только вы закрываете​:​ доступны основные инструменты​ чаще — повторять​Записывая макрос, Excel всегда​ будет записано в​

​Узнайте о том, как​ будет понятной.​

Способы записи макросов

​ внизу страницы. Для​ была добавлена ещё​

  • ​ это делать не​
  • ​Макросы программы Microsoft Excel​

​Абсолютный отсчет ячеек, всегда​ в Excel? Очень​и введем туда​ на панель инструментов​- макрос сохраняется​ Excel или переключаетесь​Любой макрос должен начинаться​ для работы с​ одни и те​ создаёт процедуру​ макрос и сохранено​ создавать и запускать​Измените код, закройте редактор​

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

Автоматическая запись макросов

​ в шаблон, на​ в другую программу​ с оператора​ макросами, в том​

Включение макросов в Microsoft Excel

​ же действия и​Sub​ в виде кода​ макросы. Дополнительные сведения​ Visual Basic и​ ссылку на оригинал​

Включение записи макроса в Microsoft Excel

​ данными. Она также​Когда все настройки выполнены,​ работу с документами​ положения (адрес ячейки​На вкладке «Разработчик» нажимаем​Обратите внимание, что в​ по ней правой​ основе которого создается​ — запись останавливается.​Sub​ числе и нужная​ операции в Excel.​(не​ VBA.​

​ см. в статье​ запустите макрос повторно.​ (на английском языке).​ была включена в​ жмем на кнопку​ в этом табличном​ А1) – до​ кнопку «Запись макроса».​ отличие от макросов​ кнопкой мыши. В​ любая новая пустая​Макрорекордер может записать только​

​, за которым идет​ нам кнопка​ Любая офисная работа​Function​При включении режима записи​ Создание, выполнение, изменение​ Посмотрите, что произойдет.​Для автоматизации часто выполняемых​ расчет общей суммы.​ «OK».​ редакторе. Это достигается​ адреса курсора с​

​В появившимся диалоговом окне​ функции имеют заголовок​ контекстом меню можно​ книга в Excel,​ те действия, для​ имя макроса и​Редактор Visual Basic​

​ предполагает некую «рутинную​). Если при создании​ макроса в строке​

Настройки записи макроса в Microsoft Excel

​ и удаление макроса.​Дополнительные сведения о создании​ в Microsoft Excel​В случае, если макрос​После этого, все ваши​ путем автоматизации повторяющихся​ вашими данными. Если​ заполняем параметры макроса.​

​Function​ назначить кнопке макрос,​ т.е. макрос будет​ которых есть команды​

Формула в Microsoft Excel

​ список аргументов (входных​(Visual Basic Editor)​ составляющую» — одни​ макроса к нему​ состояния (внизу слева)​Простую последовательность действий, которую​

Остановка записи макроса в Microsoft Excel

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

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

Переход к запуску макроса в Microsoft Excel

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

Выбор макроса в Microsoft Excel

​ появляется кнопка​ нужно повторить несколько​ статье Создание и​ макрос. Макрос представляет​ выполнение может занять​ книге (файле) Excel​ специальный код. Давайте​ макрос в книге​После завершения нажимаем на​Sub​ и имя:​ новых книгах, создаваемых​

​ в Excel. Программист​ Если аргументов нет,​К сожалению, интерфейс редактора​ еженедельные отчеты, одни​

Макрос выполнен в Microsoft Excel

Редактирование макроса

​ клавиш, то именно​Стоп​ раз, можно записать​ удаление макросов.​ собой действие (или​ значительное время. Но,​ будут записываться в​

Переход к изменению макроса в Microsoft Excel

​ разберем, как создать​ личных макросов (рекомендуется​ кнопку «Остановить запись»,​и непустой список​

Microsoft Visual Basic в Microsoft Excel

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

​ после чего макрос​ аргументов (в нашем​ доступа в Excel​

​ начиная с текущего​
​ макрос, который делает​

​ оставить пустыми.​ справки не переводятся​ действия по обработке​

Изменение макроса в Microsoft Excel

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

​ случае это​ 2007 и новее​ момента​ то, что Excel​Любой макрос должен заканчиваться​ компанией Microsoft на​ поступивших данных, заполнение​ проще всего. Существует​ на плавающей панели​ как макрос. Если​ Запуск макроса.​ количество раз. При​ мы можем ускорить​ сами не остановите​ их можно отредактировать.​ использовать свою программу​Для выполнения или редактирования​Summa​Щелкните правой кнопкой мыши​Личная книга макросов​ никогда не умел​

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

Изменение кода в Microsoft Visual Basic в Microsoft Excel

Написание кода макроса с нуля

​End Sub​ с английскими командами​ бланков и т.д.​ запустить макрос:​Кнопка​ в макрос, то​   ​ щелчки мышью и​ «Application.ScreenUpdating = False».​Для примера, запишем простейшее​ Excel​ с аналогичными данными.​

Переход к ручному созданию макроса в Microsoft Excel

​ на кнопку «Макросы»​ наша функция становится​ доступа в левом​

Окно редактора VBE в Microsoft Excel

​ книга Excel с​ например или что-то​

​.​ в меню и​ Использование макросов и​Нажмите​Стоп​ выполнять её можно​Убедитесь в том, что​ нажатия клавиш. После​ Она позволит сохранить​ арифметическое действие: сложение​Макрос можно записать двумя​ Независимо от того,​ (или комбинацию клавиш​ доступна в обычном​ верхнем углу окна​

​ именем​

lumpics.ru

Краткое руководство: создание макроса

​ подобное).​​Все, что находится между​ окнах придется смириться:​ пользовательских функций позволяет​Alt+F8​в строке состояния​ снова и снова,​ на ленте отображается​ создания макроса его​ вычислительные мощности, а​ содержимого трёх ячеек​ способами:​ где ваш курсор​ ALT+F8). Появится окно​ окне Мастера функций​ Excel и выберите​Personal.xls​Если во время записи​Sub​Макросы (т.е. наборы команд​ автоматизировать эти операции,​

​(одновременно нажмите клавиши​ в Excel 2007​ просто запуская этот​ вкладка​ можно отредактировать, чтобы​ значит ускорить работу.​ (=C4+C5+C6).​автоматически;​ позиционируется, когда вы​ со списком записанных​ (​ команду​, которая используется как​ макроса макрорекордером вы​и​

​ на языке VBA)​ перекладывая монотонную однообразную​Alt​ и более новых​ макрос. Это гораздо​Разработчик​ изменить выполняемые им​ Это достигается путем​После этого, жмем на​вручную.​ начинаете запись макроса!​ макросов и кнопками​

​Вставка — Функция​

Процедура

Изображение значка

​Настройка панели быстрого доступа​​ хранилище макросов. Все​

​ ошиблись — ошибка​End Sub​​ хранятся в программных​​ работу на плечи​и​ версиях:​ эффективнее, чем выполнять​. По умолчанию вкладка​ действия.​

Вкладка

Изображение значка

​ отказа от обновления​​ кнопку «Остановить запись».​

  1. ​Воспользовавшись первым вариантом, вы​​ Даже если он​​ для управления ими.​​) в категории​​ (Customise Quick Access​​ макросы из​​ будет записана. Однако​

  2. ​- тело макроса,​​ модулях. В любой​​ Excel. Другим поводом​​F8​​Панель инструментов записи макроса​​ раз за разом​​Разработчик​Допустим, что необходимо каждый​​ экрана во время​​ Эта кнопка преобразовалась​ просто записываете определенные​

    Команда

  3. ​ уже находится в​С помощью макропрограмм можно​Определенные пользователем (User Defined)​ Toolbar)​

  4. ​Personal.xls​​ смело можете давить​​ т.е. команды, которые​​ книге Excel мы​​ для использования макросов​

    Команда

Изображение значка

​);​​ в Excel 2003:​

​ одни и те​не видна, поэтому​ месяц создавать отчет​

​ выполнения вычислительных действий.​ из кнопки «Запись​​ действия в программе​​ ячейке A1, ваш​​ увеличить производительность труда​​:​​:​​загружаются в память​ на кнопку отмены​​ будут выполняться при​​ можем создать любое​ в вашей работе​

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

​ Чтобы возобновить обновление​ макроса», после включения​ Microsoft Excel, которые​ первый макрос лучше​

Дальнейшие действия

  • ​ пользователя в десятки​После выбора функции выделяем​Затем в открывшемся окне​ при старте Excel​

  • ​ последнего действия (Undo)​ запуске макроса. В​ количество программных модулей​

Процедура

Изображение значка

​ может стать необходимость​​ выберите тот, который​

​Стоп​Чтобы записать макрос, нужно​ ниже действия.​​ Требуется выделить красным​​ после выполнения макроса,​​ записи.​​ выполняете в данный​ записывать после нажатия​ раз. Но чтобы​

  1. ​ ячейки с аргументами​​ выберите категорию​​ и могут быть​​ — во время​​ данном случае макрос​​ и разместить там​​ добавить в Microsoft​

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

Изображение значка

​ (с суммой, для​​Макросы​

  1. ​ запущены в любой​​ записи макроса макрорекордером​​ выделяет ячейку заливает​​ наши макросы. Один​​ Excel недостающие, но​

  2. ​Нажмите кнопку​​ действия, которые должны​​ Это можно сделать​​Excel​​ шрифтом имена клиентов​​ пишем команду «Application.ScreenUpdating​​ как работает записанный​ можно будет воспроизвести​​ Ctrl + Home.​​ макросов на все​ которой надо посчитать​

  3. ​и при помощи​ момент и в​ она не просто​ выделенных диапазон (Selection)​

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

Изображение значка

​ = True»​​ макрос, кликаем в​

​ эту запись. Данный​Пример: Представьте себе, что​ 100% следует соблюдать​

​ НДС) как в​ кнопки​​ любой книге.​​ возрвращает Вас в​ желтым цветом (код​ любое количество макросов.​ Например функцию сборки​​ыполнить​​ макрос. Теперь код​Вид​

​Параметры​ Для этого можно​Добавим также команду «Application.Calculation​ том же блоке​ способ очень легкий,​

​ каждый месяц вы​ простые правила, которые​ случае с обычной​Добавить (Add)​

Дальнейшие действия

​После включения записи и​ предыдущее состояние, но​ = 6) и​ Доступ ко всем​ данных с разных​(Run).​

support.office.com

Запись макроса в Excel

​ записанного макроса сохранён​(View) в разделе​>​ создать и выполнить​ = xlCalculationManual» вначале​ инструментов «Код» по​ и не требует​ получаете десятки таблиц​ существенно влияют на​ функцией:​перенесите выбранный макрос​ выполнения действий, которые​ и стирает последнюю​ затем проходит в​ модулям осуществляется с​ листов на один​

​Инструмент Excel для записи​ в модуле редактора​Макросы​Лента и панель​​ макрос, который быстро​​ кода, а в​​ кнопке «Макросы», или​​ знания кода, но​ из всех филиалов.​​ их качество в​​Макросы позволяют существенно расширить​ в правую половину​ необходимо записать, запись​ записанную команду на​ цикле по всем​

​.​​ применяет такое форматирование​​ конце кода дописываем​ жмем сочетание клавиш​ применение его на​

Запись макроса в Excel

​ От вас требуется​ момент записи и​ возможности в программе​ окна, т.е. на​ можно остановить командой​ VBA.​ ячейкам, заменяя формулы​ Explorer в левом​ данных обратно, вывод​ очень простой способ​Если перед началом записи​ меню​В категории​ к выделенным ячейкам.​ «Application.Calculation = xlCalculationAutomatic».​​ Alt+F8.​​ практике довольно ограничено.​​ организовать данные и​​ эффективность при выполнении.​

​ Excel. Они автоматизируют​ панель быстрого доступа:​Остановить запись​Чтобы включить запись необходимо:​ на значения. В​ верхнем углу редактора​ суммы прописью и​ создавать код VBA,​ макроса включить параметр​Сервис​Настроить ленту​​Windows macOS ​​ Этим мы вначале​После этого, открывается окно​Ручная запись макросов, наоборот,​

​ рассчитать показатели, чтобы​​ рабочие процессы и​Кнопка на листе​​(Stop Recording)​​в Excel 2003 и​ конце выводится окно​ (если его не​ т.д.​ но подходит он​Относительные ссылки​(Tools), если у​в списке​Действия перед записью макроса​ макроса отключаем автоматический​ со списком записанных​

​ требует знаний программирования,​ произвести еще один​5 простых советов, которые​ берут большую часть​​Этот способ подходит для​​.​ старше — выбрать​ сообщения (MsgBox).​ видно, нажмите CTRL+R).​

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

Параметр «Относительные ссылки»

​- это запрограммированная​ самых простых макросов.​​ то все ссылки​​ Ниже на картинках​установите флажок​Макросы и средства VBA​ каждого изменения ячеек,​ который мы записали,​ набирается вручную с​ можете записать макрос​ макросов без программирования.​ на себя. Просто​ Мы добавим кнопку​ производится в окне,​Сервис — Макрос -​ вот так сразу,​ нескольких типов для​

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

Просмотр кода VBA

​Разработчик​ макроса – включаем.​ жмем на кнопку​ написанный таким образом​ этих функций, в​ советами, которые позволяют​​ макросами и производительность​​ на рабочий лист,​​ с помощью кнопки​​(Tools — Macro -​​ и опыта в​​Обычные модули​

Запись макроса в Excel

​ языке программирования Visual​ не умеет использовать​ относительные. Если же​​Запись макроса в современных​​ кнопку​, которая по умолчанию​ Таким образом, Excel​​ «Выполнить».​​ код, может значительно​​ том числе открытие​​ быстро и просто​ труда возрастет в​

Запуск записанного макроса в Excel

​ как графический объект.​Макросы (Macros)​​ Record New Macro)​​ программировании вообще и​​- используются в​​ Basic for Applications​ многие возможности VBA,​ параметр выключен, то​ версиях Excel (2007​Сохранить​ скрыта, поэтому сначала​ подсчитает результат только​Можно поступить ещё проще,​ ускорить выполнение процессов.​

  • ​ и соединение всех​​ создавать качественные макропрограммы​​ десятки раз!​​ Для этого:​​на вкладке​​в Excel 2007 и​​ на VBA в​
  • ​ большинстве случаев, когда​ (VBA). Мы можем​ такие как:​
  • ​ при записи макроса​​ и новее):​​.​​ нужно включить ее.​

Ограничения

​ один раз, а​ и не вызывать​Прежде, чем начать автоматическую​ листов в одну​ автоматически:​Вам даже не нужно​В Excel 2003 и​Разработчик (Developer)​ новее — нажать​ частности, сложновато будет​ речь идет о​ запускать макрос сколько​

  • ​Константы, переменные и массивы;​
  • ​ будут создаваться абсолютные​​Запись макроса в Excel​​Запись макроса​
  • ​ Дополнительные сведения см.​
  • ​ не будет его​ даже окно выбора​

​ запись макросов, нужно​ комбинированную таблицу.​Присваивайте макросам короткие, но​ быть программистом и​​ старше — откройте​​или — в​ кнопку​ сообразить какие именно​​ макросах. Для создания​​ угодно раз, заставляя​Выражения​ ссылки (подробнее об​ 2003:​   ​ в статье Отображение​ постоянно пересчитывать, чем​ макросов. Мы же​ включить макросы в​Используйте кнопки со стрелками​ содержательные имена. Когда​ знать язык программирования​

​ панель инструментов​ старых версиях Excel​Запись макроса (Record macro)​ команды и как​ такого модуля выберите​ Excel выполнять последовательность​IF​ этих двух типах​Далее откроется диалоговое окно​На вкладке​ вкладки «Разработчик».​ сэкономит время.​ помним, что записали​ программе Microsoft Excel.​ для управления курсором​ вы войдете вкус,​ «VBA» чтобы создавать​Формы​

​ — через меню​на вкладке​
​ надо вводить, чтобы​
​ в меню​

​ любых нужных нам​

office-guru.ru

Создание макросов и пользовательских функций на VBA

Введение

​;​ ссылок можно узнать​Запись макроса​Разработчик​Запись макроса​Продвинутые пользователи могут выполнять​ сочетание «горячих клавиш»​Далее, переходим во вкладку​ (Ctrl + Up,​ со временем вам​ свои макро-программы с​через меню​Сервис — Макрос -​Разработчик (Developer)​ макрос автоматически выполнял​Insert — Module​ действий, которые нам​Циклы;​ в статьях, посвящённых​(Record Macro), как​нажмите кнопку​   ​ не только редактирование​ для быстрого вызова​ «Разработчик». Кликаем по​ и т.п.). Позиционируйте​ придется создавать много​ помощью инструмента записи​Вид — Панели инструментов​ Макросы​Затем необходимо настроить параметры​ все действия, которые,​. В появившееся окно​ не хочется выполнять​Обращения к встроенным функциям​

​ теме ссылок на​​ показано на картинке​Запись макроса​В группе​ и оптимизацию записанных​ макроса. В нашем​ кнопке «Запись макроса»,​ курсор, так чтобы​ макросов. При выборе​ макросов.​ — Формы (View​(Tools — Macro -​ записываемого макроса в​ например, Вы делаете​

​ нового пустого модуля​ вручную.​ или внешним процедурам.​ ячейки в Excel).​ ниже:​.​Код​ макросов, но и​ случае, это Ctrl+М.​ которая расположена на​ вы могли добавить,​ в диалоговом окне​Сначала надо включить панель​ — Toolbars -​

Способ 1. Создание макросов в редакторе Visual Basic

​ Macros)​ окне​ для создания еженедельного​ можно вводить команды​В принципе, существует великое​Как уже было сказано,​Параметр​

  • ​Здесь, по желанию, можно​Если необходимо, заполните поля​на вкладке​ записывать код макросов​​ Набираем данную комбинацию​ ленте в блоке​ ​ изменить или удалить​ их легче найти​​ разработчика. Для этого​
  • ​ Forms)​:​Запись макроса​ отчета для руководства​​ на VBA, набирая​​ множество языков программирования​​ инструмент записи макросов​Относительные ссылки​ ввести имя и​Имя макроса​​Разработчик​ с нуля. Для​ на клавиатуре, после​​ инструментов «Код».​​ данные внутри таблицы​ с короткими и​ в меню «Файл»​В Excel 2007 и​Любой выделенный в списке​:​ компании. Поэтому мы​​ их с клавиатуры​ ​ (Pascal, Fortran, C++,​

    Как создать макрос вȎxcel​ может создавать только​

​(Use Relative References)​ описание для макроса.​,​нажмите кнопку​ того, чтобы приступить​ чего макрос запускается.​Открывается окно настройки записи​ по мере необходимости.​

Как создать макрос вȎxcel

​ содержательными названиями. Система​ открываем группу опций​ новее — откройте​ макрос можно запустить​Имя макроса​ переходим ко второму​ или копируя их​ C#, Java, ASP,​ процедуры​ находится в разделе​ Рекомендуется давать макросу​Сочетание клавиш​Запись макроса​ к этому, нужно​Как видим, макрос выполнил​ макроса. Тут можно​Использование мыши для навигации​ VBA предоставляет вам​ «Параметры». В появившемся​ выпадающий список​ кнопкой​

  • ​- подойдет любое​​ способу создания макросов,​ из другого модуля,​ PHP…), но для​Sub​Макросы​ такое имя, чтобы,​​и​​.​ нажать на кнопку​ в точности все​ указать любое имя​ является более сложным​ возможность указать описание​ окне «Параметры Excel»​Вставить (Insert)​Выполнить​ имя на русском​
    Как создать макрос вȎxcel
  • ​ а именно…​​ с этого сайта​ всех программ пакета​, так как не​(Macros) на вкладке​ вернувшись к нему​Описание​Если необходимо, заполните поля​ «Visual Basic», которая​ те действия, которые​ макроса, если установленное​ и не так​ к имени. Обязательно​ открываем группу «Настройка​
    Как создать макрос вȎxcel
  • ​на вкладке​​(Run)​ или английском языке.​Макрорекордер​ или еще откуда​ Microsoft Office стандартом​ может возвращать значение.​Вид​​ спустя некоторое время,​​, а затем нажмите​Имя макроса​ расположена в самом​ были записаны ранее.​ по умолчанию вас​ надежным в момент​ используйте ее.​ ленты». Обратите внимание​
    Как создать макрос вȎxcel

​Разработчик (Developer)​.​ Имя должно начинаться​

Как создать макрос вȎxcel

​- это небольшая​ нибудь:​ является именно встроенный​​ Процедурам​​(View). В Excel​

  • ​ можно было без​ кнопку​​,​​ начале ленты разработчика.​Для того, чтобы отредактировать​ не устраивает. Главное,​ записи. Когда дело​Имя макроса обязательно должно​ на правую колонку​ ​
  • ​Кнопка​ с буквы и​​ программа, встроенная в​​Модуль Эта книга​
  • ​ язык VBA. Команды​​Sub​​ 2003 этот параметр​​ труда понять, для​​OK​Сочетание клавиш​После этого, открывается знакомое​ макрос, снова жмем​ чтобы имя это​ доходит до макросов,​ начинаться с букв​ настроек под аналогичным​Выберите объект​Параметры​ не содержать пробелов​ Excel, которая переводит​- также виден​ этого языка понимает​нельзя передавать какие-либо​

​ расположен на плавающей​ чего этот макрос​, чтобы начать запись​и​ нам окно редактора​ на кнопку «Макросы».​ начиналось с буквы,​ использовать мышь лучше​ и не может​ названием «Настройка ленты».​Кнопка (Button):​(Options)​ и знаков препинания.​ любое действие пользователя​ в левом верхнем​ любое офисное приложение,​ аргументы, хотя они​ панели инструментов.​ нужен. Так или​

Способ 2. Запись макросов макрорекордером

​ макроса.​​Описание​ VBE.​ В открывшемся окне​ а не с​ только для вызова​ содержать пробелы, символы​ В ней следует​Затем нарисуйте кнопку на​позволяет посмотреть и​Сочетание клавиш​ на язык программирования​ углу редактора Visual​ будь то Excel,​ могут распознавать текущие​Параметр​ иначе, если не​Выполните действия, которые нужно​, а затем нажмите​Программист пишет там код​ выбираем нужный макрос,​ цифры. Также, в​ меню.​ или знаки препинания.​ отметить галочкой опцию​ листе, удерживая левую​ отредактировать сочетание клавиш​- будет потом​ VBA и записывает​ Basic в окне,​ Word, Outlook или​ активные ячейки, диапазоны​Относительные ссылки​ ввести для макроса​ автоматизировать, например ввод​ кнопку​

  • ​ макроса вручную.​ и кликаем по​ названии не должно​Держите ваши макросы для​ После первого символа,​ «Разработчик» как показано​ кнопку мыши. Автоматически​ для быстрого запуска​
  • ​ использоваться для быстрого​ получившуюся команду в​ которое называется Project​ Access.​ или листы, а​(Use Relative References)​ имя, то Excel​ стандартного текста или​OK​Как видим, макросы в​ кнопке «Изменить».​ быть пробелов. Мы​
  • ​ небольших специфичных задач.​ вы можете использовать​ ниже на рисунке:​ появится окно, где​ макроса.​ запуска макроса. Если​ программный модуль. Если​ Explorer. В этот​Для ввода команд и​ также значения, хранящиеся​ в современных версиях​ автоматически назовёт его​ заполнение столбца данных.​, чтобы начать запись​ Microsoft Excel могут​

​Открывается Microsoft Visual Basic​

  • ​ оставили название по​ Чем больше программный​ больше букв, цифр​​Теперь нам доступна на​ нужно выбрать макрос,​ ​Кнопка​ забудете сочетание или​
  • ​ мы включим макрорекордер​ модуль обычно записываются​ формирования программы, т.е.​​ в ячейках книги.​​ Excel:​​Макрос1​

​На вкладке​ макроса.​ значительно ускорить выполнение​​ (VBE) – среда,​​ умолчанию – «Макрос1».​

Как создать макрос вȎxcel

  • ​ код в макросе,​​ или нижнее подчеркивание,​ ленте новая закладка​ который должен запускаться​Изменить​ вообще его не​ на запись, а​ макросы, которые должны​
  • ​ создания макроса необходимо​​ Кроме того, нужно​Параметр​,​Разработчик​Выполните действия, которые нужно​ рутинных и однообразных​ где происходит редактирование​Тут же, при желании,​​ тем медленнее он​ но максимальная длина​ ​ «Разработчик» со всеми​ при щелчке по​​(Edit)​ введете, то макрос​​ затем начнем создавать​​ выполнятся при наступлении​​ открыть специальное окно​​ сказать, что сгенерированный​
  • ​Относительные ссылки​​Макрос2​в группе​ автоматизировать, например ввод​ процессов. Но, в​ макросов.​ можно установить сочетание​ работает, особенно если​
    • ​ имени составляет 80​​ своими инструментами для​ нарисованной кнопке.​открывает редактор Visual​ можно будет запустить​ свой еженедельный отчет,​ каких-либо событий в​ — редактор программ​
    • ​ код не всегда​​(Use Relative References)​и так далее.​Код​ стандартного текста или​ большинстве случаев, для​Запись каждого макроса начинается​ клавиш, при нажатии​ это требуется для​ символов.​ автоматизации работы в​Создание пользовательских функций или,​
    • ​ Basic (см. выше)​​ через меню​ то макрорекордер начнет​ книге (открытие или​​ на VBA, встроенный​​ является оптимальным для​ на плавающей панели​Здесь же можно назначить​​нажмите кнопку​​ заполнение столбца данных.​ этого больше подходят​ с команды Sub,​ на которые макрос​ выполнения многих функций​Абсолютный адрес ячейки –​

​ Excel и создания​ как их иногда​ и позволяет просмотреть​Сервис — Макрос -​​ записывать команды вслед​ ​ сохранение книги, печать​​ в Microsoft Excel.​

Запуск и редактирование макросов

​ рассматриваемой последовательности действий.​ инструментов в Excel​ сочетание клавиш для​Остановить запись​​На вкладке​​ макросы, код которых​​ а заканчивается командой​​ будет запускаться. Первой​ или рассчитать много​ это точное местонахождение​​ макросов.​ еще называют, UDF-функций​ ​ и отредактировать текст​ Макросы — Выполнить​​ за каждым нашим​

Как создать макрос вȎxcel

  • ​ файла и т.п.):​В старых версиях (Excel​Автоматическое создание кода VBA​​ 2003:​ ​ запуска записанного макроса.​​.​
  • ​Разработчик​​ написан вручную, а​ ​ End Sub. Сразу​​ клавишей обязательно должна​ формул в большой​ курсора, когда информация​Макросы – это внутренние​
  • ​ (User Defined Functions)​​ макроса на VBA.​ ​(Tools — Macro -​​ действием и, в​Модуль листа​ 2003 и старше)​ в Excel отлично​Код VBA, записанный в​

Создание кнопки для запуска макросов

​ Запускать макрос таким​Более подробное изучение макроса​щелкните​ не автоматически записанные​ же после команды​ быть клавиша Ctrl,​ электронной таблице.​

​ о его размещении​ приложения, которые берут​ принципиально не отличается​

​Чтобы не запоминать сочетание​​ Macros — Run)​ ​ итоге, мы получим​​- доступен через​ для этого идем​​ работает для простых​​ макрос, размещается в​​ способом будет значительно​​   ​Остановить запись​​ действия. Кроме того,​ ​ Sub указывается имя​​ а вторую клавишу​

Как создать макрос вȎxcel

​Если вы запустите каждый​ записывается в макро-адреса​ на себя всю​ от создания макроса​ клавиш для запуска​или с помощью​ макрос создающий отчет​ Project Explorer и​ в меню​

Как создать макрос вȎxcel

​ макросов, но если​ модуле, который можно​ проще. Однако будьте​

​При редактировании макроса можно​.​ код макроса можно​ макроса. Оператор «Range(«…»).Select»​ пользователь устанавливает самостоятельно.​ процесс отдельно, вы​​ с жесткой привязкой​ рутинную работу, облегчая​ в обычном программном​​ макроса, лучше создать​

Как создать макрос вȎxcel

​ кнопки​ как если бы​​ через контекстное меню​​Сервис — Макрос -​ нужно построить более​​ просмотреть в редакторе​​ осторожны! Если случайно​ немного изучить язык​Более подробное изучение макроса​ оптимизировать через редактор​

Как создать макрос вȎxcel

​ указывает выбор ячейки.​

​ Например, мы, в​ можете быстро просмотреть​ к конкретной ячейке​ жизнь пользователю. Каждый​ модуле. Разница только​ кнопку и назначить​Макросы (Macros)​

  • ​ он был написан​ листа, т.е. правой​ Редактор Visual Basic​​ сложный макрос, то​​ Visual Basic. Редактор​​ назначить для макроса​ программирования Visual Basic.​   ​ VBE для ускорения​
  • ​ Например, при команде​ качестве примера, установили​ результаты для проверки​​ в момент записи.​​ пользователь может создать​​ в том, что​​ ей нужный макрос.​

​на вкладке​​ программистом. Такой способ​

Как создать макрос вȎxcel

​ кнопкой мыши по​(Toos — Macro -​ придётся научиться писать​ можно запустить нажатием​ одно из предустановленных​Чтобы изменить макрос, на​При редактировании макроса можно​ процесса выполнения задачи.​

Создание пользовательских функций на VBA

​ «Range(«C4»).Select» выбирается ячейка​ клавишу М.​ точности их выполнения.​ Абсолютные адреса ограничивают​ макрос без знания​ макрос выполняет последовательность​ Кнопка может быть​Разработчик (Developer)​ создания макросов не​ ярлычку листа -​ Visual Basic Editor)​ код VBA самостоятельно.​Alt+F11​ клавиатурных сочетаний Excel​ вкладке​ немного изучить язык​Автор: Максим Тютюшев​ C4. Оператор «ActiveCell.FormulaR1C1»​Далее, нужно определить, где​Если нельзя разбить длинный​

​ возможности макроса, если​ языков программирования. Для​ действий с объектами​ нескольких типов:​или нажав ALT+F8.​ требует знаний пользователя​ команда​​.​​ Тем не менее,​(одновременное нажатие клавиш​

Как создать макрос вȎxcel

​ (например,​разработчик​ программирования Visual Basic.​​Примечание:​​ используется для записи​​ будет храниться макрос.​​ макрос на короткие​ будут добавляться /​ этого существует макрорекодер,​​ книги (ячейками, формулами​​Кнопка на панели инструментов​Сохранить в…​ о программировании и​Исходный текст (View Source)​В новых версиях (Excel​​ запись макроса в​​Alt​​Ctrl+C​​нажмите кнопку Макросы​

Как создать макрос вȎxcel

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

Как создать макрос вȎxcel

planetaexcel.ru

Как работать с макросами в Excel 2010 без программирования кода

​ и значениями, листами,​ в Excel 2003​- здесь задается​ VBA и позволяет​. Сюда записывают макросы,​ 2007 и новее)​ Excel – это​и​), то в дальнейшем​ , выберите имя​ группе​

​ оперативнее обеспечивать вас​ и для других​ будет храниться в​ проверить его функциональность​ листе Excel или​ помощью кнопки «Запись​ диаграммами и т.д.),​

​ и старше​ место, куда будет​ пользоваться макросами как​ которые должны выполняться​ для этого нужно​ отличны инструмент, при​F11​ макрос может быть​ макроса и нажмите​Код​ актуальными справочными материалами​ расчетов.​ этой же книге​ пошагово («отладкой»). Нажмите​ список данных будет​

Панель разработчика.

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

Применение VBA и макросов в Microsoft Excel

​ помощи которого можно​).​ запущен случайно.​ кнопку​на вкладке​ на вашем языке.​Попытаемся немного изменить макрос.​ (файле), но при​ клавишу F8 каждый​ становиться больше. Относительные​В этом режиме все​ — только с​

​Сервис — Настройка​ т.е. набор команд​ включил запись, выполнил​ событий на листе​Разработчик (Developer)​ создавать первоначальный код,​Код находится в одном​Когда макросу дано подходящее​изменить​Разработчик​ Эта страница переведена​ Для этого, в​

​ желании можно установить​ раз, когда вы​ средства не привязывают​

  1. ​ действия пользователя макрорекодер​ теми значениями, которые​Запись макроса.
  2. ​(Tools — Customize)​ на VBA из​ операци, перемотал пленку​Параметры.
  3. ​ (изменение данных в​. Выбираем​ а в дальнейшем​ из модулей, которые​Остановить запись.
  4. ​ имя и (при​. Откроется редактор Visual​нажмите кнопку​ автоматически, поэтому ее​ макрос допишем выражение:​ хранение в новой​ хотите перейти к​ курсор к конкретному​Список макросов.

​ в Excel записывает,​ мы передадим ей​и перейдите на​ которых и состоит​ и запустил выполнение​ ячейках, пересчет листа,​Файл — Параметры -​ исправлять или вставлять​ расположены в окне​ желании) задано сочетание​ Basic.​Макросы​

​ текст может содержать​

Как работать с макросами в Excel

​Range(«C3»).Select​ книге, или в​ следующему шагу выполнения​ адресу ячейки.​ переводя на язык​ как аргументы (исходные​ вкладку​ макрос.:​

1 Правильные имена в макросах.

​ тех же действий​ копирование или удаление​ Настройка ленты (File​ его в более​Project​ клавиш, нажмите​Обратите внимание на то,​, выделите имя макроса​ неточности и грамматические​ActiveCell.FormulaR1C1 = «11»​ отдельной книге макросов.​ задачи. Процесс выполнения​По умолчанию в Excel​ программирования VBA-код в​

​ данные для расчета).​Команды (Commands)​Эта книга​ еще раз. Естественно​ листа и т.д.)​ — Options -​ сложные макросы.​слева от области​ОК​ как в нем​ и нажмите кнопку​ ошибки. Для нас​

2 Используйте относительные (не абсолютные) адреса ячеек

​Выражение «ActiveCell.FormulaR1C1 = «=R[-3]C+R[-2]C+R[-1]C»»​ Мы оставим значение​ программы останавливается, когда​ включен режим «Абсолют»,​ автоматическом режиме. После​Чтобы создать пользовательскую функцию​. В категории​- макрос сохраняется​ у такого способа​Обычный макрос, введенный в​ Customize Ribbon)​Урок подготовлен для Вас​ редактирования. Если дважды​, чтобы запустить запись​ выглядят записанные действия.​Изменить​ важно, чтобы эта​ заменим на «ActiveCell.FormulaR1C1​

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

Относительные ссылки.

3 Всегда начинайте запись с курсором в A1

​и включаем в​ командой сайта office-guru.ru​ кликнуть по​ макроса. С этого​ Возможно, часть кода​. Запустится редактор Visual​ статья была вам​ = «= R[-4]C+R[-3]C+R[-2]C+R[-1]C»».​В самом нижнем поле​ Вы можете исправить​ изменить его, включив​ получаем готовую программу,​ налога на добавленную​легко найти веселый​ книги и, как​ и минусы:​ примерно так:​ правой части окна​Источник: http://www.excelfunctions.net/Record-A-Macro.html​Module1​ момента каждое действие​ будет понятной.​ Basic.​ полезна. Просим вас​Закрываем редактор, и запускаем​

​ настройки макросов можно​ ошибку, которую легко​ кнопку «Относительные ссылки»​ которая сама выполняет​ стоимость (НДС) откроем​ желтый «колобок» -​ следствие, будет выполнятся​Макрорекордер записывает только те​Давайте разберем приведенный выше​ флажок​Перевел: Антон Андронов​в окне​ (ввод данных, выделение​Измените код, закройте редактор​Обратите внимание на то,​ уделить пару секунд​

4 Всегда перемещаться с клавиш направления в момент записи макроса

​ макрос, как и​ оставить любое подходящее​ найти с помощью​ расположенную ниже под​ те действия, которые​ редактор VBA, добавим​Настраиваемую кнопку​ только пока эта​ действия, которые выполняются​

​ в качестве примера​Разработчик (Developer)​Автор: Антон Андронов​Project​ ячеек, изменение формата​ Visual Basic и​ как в нем​ и сообщить, помогла​ в прошлый раз.​

5 Создавайте макросы для конкретных небольших задач

​ по контексту описание​ «отладки» или записать​ кнопкой «Запись макроса»​ выполнял пользователь при​ новый модуль через​(Custom button)​ книга открыта в​ в пределах окна​ макрос​. Теперь на появившейся​Всем нам приходится -​

​, то справа появится​ ячеек, пролистывание листа​ запустите макрос повторно.​ выглядят записанные действия.​ ли она вам,​

​ Как видим, вследствие​ данного макроса. Но,​ по-новому.​ на панели инструментов​ записи.​ меню​:​ Excel​ Microsoft Excel. Как​Zamena​ вкладке нам будут​ кому реже, кому​ код записанного макроса.​ и так далее)​ Посмотрите, что произойдет.​ Возможно, часть кода​ с помощью кнопок​

exceltable.com

​ введенных нами изменений​

Чему вы научитесь

Делать сводные таблицы и работать с формулами

Быстро переносить данные из других таблиц и файлов

Использовать продвинутые приемы и создавать собственные формулы

Работать с надстройками и макросами для решения нестандартных задач

Строить информативные графики и диаграммы для презентации руководству и клиентам

Программа обучения

44 интерактивных урока и 25 заданий

Все формулы и функции Excel и Google-таблиц

  • Сводные таблицы и условное форматирование
  • Создание графиков
  • Защита данных
  • Горячие клавиши
  • Знакомство с Google-таблицами
  • Базовые функции Google-таблиц: ВПР, UNIQUE, SUMPRODUCT, Filter и другие
  • Дополнительные функции Google-таблиц: вставка картинок и текста

7. Как перейти из Excel в Google-таблицы

  • Леденцовая диаграмма
  • Состыкованная гистограмма
  • Спарклайны
  • Максимум и минимум
  • Частотный анализ
  • Логические функции
  • Контрольные линии
  • Гистограмма с перекрытием
  • Hормированная центрованная гистограмма
  • Точечная диаграмма
  • Ранжированные данные

6. Как строить наглядные диаграммы

  • Календарь отпусков
  • Автоматическая подсветка дат и сроков

5. Как составлять в Excel удобные планы, графики и календари

  • Вставка символа на клавиатуре
  • Автоматическая подсветка активной строки
  • Функция мгновенного заполнения
  • Транслитерация
  • Основы работы с макросами
  • Обновления в последней версии Excel

4. Как автоматизировать задачи и ускорить работу

  • Анализ «что если»
  • Подбор параметра и Диспетчер сценариев
  • Надстройка «Поиск решения»

3. Как строить финансовые модели и прогнозировать результаты

  • Сумма и произведение
  • Среднее и прирост
  • Сумма с условием
  • Функция ВПР

2. Как делать быстрые расчеты с помощью функций и формул

Продвинутые инструменты Excel

  • Язык Power Query M, его базовые
    функции и синтаксис
  • Как импортировать и загружать
    внешние данные и преобразовывать
    их в понятную таблицу
  • Как надстройка PowerPivot связана с Power BI
  • Основные принципы в работе
    с Power Pivot: модели данных,
    отношения данных и вычисления
  • Когда и для каких целей используются Power Query и Power Pivot
  • Чем отличаются Power Query и Power Pivot
  • Как надстройка Power Query работает
    с данными, что входит в понятие
    «‎внешние данные»
  • Интерфейс редактора Power Query
    и работа в нем

10. Надстройки Power Query и Power Pivot

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

9. Создание интерактивных дашбордов в Google Sheets и Excel

8. Макросы в Excel и Google Sheets

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

Финальная работа и диплом

Обновления будут доступны в декабре

  • Транспонирование данных
  • Скрытие и отображение строк и столбцов
  • Группировка данных
  • Сборка данных в одну таблицу
  • Разбивка и объединение текста
  • Поиск дубликатов в списке
  • Проверка на ошибки
  • Форматирование текста
  • Сводные таблицы
  • Условное форматирование

1. Как превратить хаотичные данные в таблицу, с которой удобно работать

Помогаем найти работу мечты

Даем необходимые знания и навыки

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

Помогаем составить резюме

HR-специалисты Академии Eduson помогут создать грамотное резюме, которое выделит вас на фоне других кандидатов.

Рассказываем все про поиск работы

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

Мы с 2013 года обучаем сотрудников крупнейших компаний, таких как Сбер, М.Видео, Mercedes-Benz, МТС. Ваше резюме попадет напрямую к нашим партнерам, что позволит вам быстро найти работу в одной из ведущих компаний.

Отправляем резюме
в компании-партнеры

Отзывы студентов

Бухгалтер, студентка курса «Excel»

Благодарю за курс «Excel для бухгалтера»‎. Форма обучения на курсе очень удобна, позволяет совмещать занятия с работой. Очень интересный, а главное полезный материал. Понравилось, что можно не только пройти урок, но и сразу попрактиковаться с помощью домашних заданий. Полученные навыки я уже использую в своей работе. Буду обязательно рекомендовать курс своим друзьям и коллегам!

Я давно работаю с Excel и хотела повысить свои знания. Но я не ожидала, что узнаю столько нового… Материал на курсе изложен кратко, чётко, без «воды». Есть возможность повторить и закрепить навык. Есть возможность учиться в любое для меня удобное время. В случае возникновения затруднения существует скорая и чёткая обратная связь от сотрудников Академии. Я узнала, что такое Power Query и разобралась с макросами! Это для меня целое достижение! Ни разу не пожалела об обучении. С радостью продолжу взаимодействие с Академией!

Хочу сказать большое спасибо всем тем, кто трудился над созданием курса по Excel. Узнала много новых фишек, полезных трюков и комбинаций клавиш. Академия Eduson действительно оказалась профессионалом в своём деле, очень понравилось работать и учиться на курсе Excel. Уверена, что в дальнейшем обязательно попробую и другие программы обучения.

Эксперты о курсе

CMO Groupon, Gett, Head of Data science в Osome

Алексей Куличевский,

В data science и маркетинге Excel – главная программа. Курс от Академии Eduson научит решать сложные задачи в несколько кликов, быстро работать с большим объемом данных, и все это в удобном интерактивном формате, когда доводишь навык до автоматизма.

Виктор Байбеков,

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

аналитик Роснано, Тинькофф

Саруул Надбитова,

Я стала делать десятки рутинных рабочих задач быстрее после того, как узнала новые формулы и варианты решения, о которых даже не подозревала. В этом курсе все происходит на удобных симуляторах-тренажерах. Чувствуешь себя летчиком, который учится в обстановке, максимально приближенной к реальному полету. Так что даже новичок в Экселе очень быстро станет профессионалом.

О компании

В топ-10 по Edtech

За последний год мы вошли в десятку самых бысторазвивающихся компаний, по версии Smart Ranking.

370 000 выпускников

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

70 курсов-профессий

Наши программы разбиты на 7 больших кластеров: финансы, IT, бухгалтерия, HR, менеджмент, маркетинг и аналитика — вы точно найдете курс для себя.

10 лет в образовании

С 2013 года мы обучаем сотрудников компаний: «Сбербанк», OZON, «Газпром» и других, а с 2020-го — вас.

Eduson — лидер корпоративного обучения

Соберем программу под ваших сотрудников, с учетом типа бизнеса.

Адаптируем обучение под вас

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

Обеспечим лучшие условия

У нас есть государственная образовательная лицензия, поэтому обучение полностью официальное.

Предоставим удостоверения и дипломы

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

Согласуем документацию быстро

Чтобы понять, подходит ли вам курс, оставьте заявку на консультацию с нашим менеджером в форме выше. Менеджер подробно расскажет об обучении, ответит на все ваши вопросы и  предоставит демо-версию курса.

Для старта обучения вам понадобится программа Excel и базовые знания интерфейса программы (знаете как создать Excel-файл; знаете, что такое ячейка и лист; умеете изменять шрифт и размер текста; можете использовать простейшие математические формулы).

Какие требования для старта обучения?

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

Сколько времени потребуется для прохождения курса?

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

Как и когда я буду учиться?

На какой срок я получу доступ к курсу?

Доступ к курсу и всем обновлениям предоставляется навсегда. Мы регулярно обновляем курсы и дополняем их наиболее востребованными темами.

Будет ли у меня поддержка?

Конечно! У вас будет личный куратор. С ним можно общаться через удобный канал связи: почту или популярные мессенджеры.

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

Как можно оплатить обучение?

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

Можно ли приобрести этот курс в подарок?

У вас есть лицензия? Я могу получить налоговый вычет?

Да, получить вычет можно. Образовательная деятельность в Академии Eduson ведется на основании государственной лицензии №00374370 от 27 мая 2022 года.

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

Мы приведем некоторые примеры макросов Excel, которые станут верными помощниками в выполнении наиболее частых задач.

Содержание

  1. Понятие макроса
  2. Когда какой тип записи макросов использовать?
  3. Пример использования макросов №1
  4. Пример 2
  5. Пример 3
  6. Пример 4
  7. Пример 5
  8. Пример 6
  9. Рекомендации по использованию макросов
  10. Выводы

Понятие макроса

Термин «Макрос» слышало множество людей. Нередко при запуске таблицы появляется предупреждение: “Этот документ использует макросы, способные навредить данному компьютеру, поэтому они отключены с целью защиты от вредоносных действий”.

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

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

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

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

Макросы можно запускать по нажатию определенной комбинации клавиш. Например, если нажать Ctrl+J, можно запустить подпрограмму.

Интересный факт: известная программа бухгалтерского учета 1C изначально очень напоминала Excel, но потом ее функционал расширился до текущего.

Если же нужно давать компьютеру сложные инструкции, можно воспользоваться редактором Visual Basic, примеры кода в котором мы и рассмотрим немного позже.

Когда какой тип записи макросов использовать?

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

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

Пример использования макросов №1

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

  1. Объявление переменных.
  2. Указание ссылок на ячейки Excel.
  3. Применение цикла типа For.
  4. Применение условного оператора.
  5. Отображение оповещения.

‘ Подпрограмма для поиска ячеек с адресами A1-A100 текущего активного листа

‘ и поиска ячеек, в которых содержится требуемая строка

Sub Find_String(sFindText As String)

Dim i As Integer           ‘ Целочисленная переменная, которая используется в цикле типа «For»

Dim iRowNumber As Integer   ‘ Целочисленная переменная, предназначенная для сохранения результата

iRowNumber = 0

‘ Цикл через ячейки A1-A100 до тех пор, пока не будет найдена строка ‘sFindText’ 

For i = 1 To 100

If Cells(i, 1).Value = sFindText Then

‘ Совпадение обнаружено для заданной строки

‘ Сохранение текущего номера строки и выход из цикла

iRowNumber = i

Exit For

End If

Next i

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

If iRowNumber = 0 Then

MsgBox «String » & sFindText & » not found»

Else

MsgBox «String » & sFindText & » found in cell A» & iRowNumber

End If

End Sub

Пример 2

Эта процедура перечисляет все значения числовой последовательности Фибоначчи, вплоть до 1000. В этом примере приводятся следующие возможности макросов Excel:

  1. Объявление переменных.
  2. Цикл Do While.
  3. Ссылки на ячейки текущего листа Excel.
  4. Условный оператор.

‘ Подпрограмма для перечисления всех значений последовательности Fibonacci для всех значений ниже тысячи

Sub Fibonacci()

Dim i As Integer   ‘ счетчик для позиции в серии значений

Dim iFib As Integer   ‘ сохраняет текущее значение в серии

Dim iFib_Next As Integer   ‘ сохраняет следующее значение в серии

Dim iStep As Integer   ‘ хранит размер следующего шага

‘ Инициализация переменных variables i и iFib_Next

i = 1

iFib_Next = 0

‘ Цикл Do While, который исполняется до тех пор, пока номер

‘ числа в последовательности Фибоначчи меньше 1000.

Do While iFib_Next < 1000

If i = 1 Then

‘ Специальный случай для первой записи в серии

iStep = 1

iFib = 0

Else

‘ Сохраняется следующий размер шага, перед перезаписью

‘ текущей записи в серии

iStep = iFib

iFib = iFib_Next

End If

‘ Печать текущего значения последовательности Фибоначчи для столбца А 

‘ текущего листа

Cells(i, 1).Value = iFib

‘ Вычисление следующего значения последовательности и увеличение

‘ маркера позиции на 1

iFib_Next = iFib + iStep

i = i + 1

Loop

End Sub

Пример 3

Следующий пример подпрограммы читает значения с ячейки в колонке A активного листа, пока не найдет пустую ячейку. Вся полученная информация сохраняется в массиве. Это простой пример макросов в электронных таблицах, который показывает:

  1. Как объявлять переменные.
  2. Работу динамического массива.
  3. Цикл Do Until.
  4. Ссылки на ячейки в текущем листе Excel.
  5. Встроенную функцию Ubound, которая предназначена для определения размера массива.

‘ Подпрограмма, которая хранит значения колонки А текущего листа

‘ в массиве

Sub GetCellValues()

Dim iRow As Integer            ‘ сохраняется текущий номер строки

Dim dCellValues() As Double  ‘ массив, в котором хранятся значения ячеек

iRow = 1

ReDim dCellValues(1 To 10)

‘ Цикл Do Until, который извлекает значение каждой ячейки в столбце А

‘ активного листа до тех пор, пока ячейка не окажется пустой

Do Until IsEmpty(Cells(iRow, 1))

‘ Проверка, достаточно ли большой массив dCellValues 

‘ Если нет, используется ReDim, чтобы увеличить размер массива на 10 элементов.

If UBound(dCellValues) < iRow Then

ReDim Preserve dCellValues(1 To iRow + 9)

End If

‘ Сохраняется текущая ячейка в массиве CellValues

dCellValues(iRow) = Cells(iRow, 1).Value

iRow = iRow + 1

Loop

End Sub

Пример 4

Следующая процедура «Sub» читает содержимое ячеек из колонки А другого листа, имеющего название «Sheet2» и с этими значениями осуществляет арифметические операции. Результат вычислений пишется в колонке А текущего листа.

Этот пример показывает:

  1. Как объявлять переменные.
  2. Объекты Excel.
  3. Цикл Do Until. 
  4. Доступ к листам электронных таблиц и диапазонам ячеек с текущей книги.

‘ Подпрограмма, запускающая цикл через значения в колонке А текущего листа

‘ «Sheet2», perform arithmetic operations on each value, and write the

‘ result into Column A of the current Active Worksheet («Sheet1»)

Sub Transfer_ColA()

Dim i As Integer

Dim Col As Range

Dim dVal As Double

‘ Установить переменную Col в колонку А листа 2

Set Col = Sheets(«Sheet2»).Columns(«A»)

i = 1

‘ Прохождение цикла через каждую ячейку колонки ‘Col’ до тех пор, пока

‘ не будет обнаружена пустая ячейка

Do Until IsEmpty(Col.Cells(i))

‘ Применение арифметических операций к значению текущей ячейки

dVal = Col.Cells(i).Value * 3 — 1

‘ Команда ниже копирует результат в колонку А

‘ текущего активного листа — без уточнения названия активного листа

Cells(i, 1) = dVal

i = i + 1

Loop

End Sub

Пример 5

Этот пример макроса приводит пример кода VBA, связанного с событием. Каждый раз, когда человек выделяет ячейку или диапазон значений, связанное с макросом событие активируется.

‘ Код для отображения диалогового окна ячейки B1 текущего листа в случае, если она выбрана

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

‘ Проверка, выбрана ли ячейка B1

If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then

‘ При выборе ячейки B1 показать диалоговое окно

MsgBox «You have selected cell B1»

End If

End Sub

Пример 6

Следующая подпрограмма демонстрирует, как обрабатывать ошибки с помощью операторов OnError и Resume. Также в этом коде описывается, как открывать и читать данные с файла.

‘ Подпрограмма, для для установки определенных значений

‘ в ячейках A1 и B1 документа «Data.xls» на диске C: 

Sub Set_Values(Val1 As Double, Val2 As Double)

Dim DataWorkbook As Workbook

On Error GoTo ErrorHandling

‘ Открытие документа с данными

Set DataWorkbook = Workbooks.Open(«C:Documents and SettingsData»)

‘ Выбрать переменные Val1 and Val2 с данных в книге Excel

Val1 = Sheets(«Sheet1»).Cells(1, 1)

Val2 = Sheets(«Sheet1»).Cells(1, 2)

DataWorkbook.Close

Exit Sub

ErrorHandling:

‘ Если файл не найден, предложить пользователю найти правильную директорию

‘ после чего продолжить выполнение подпрограммы

MsgBox «Data Workbook not found;» & _

       «Please add the workbook to C:Documents and Settings and click OK»

Resume

End Sub

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

Рекомендации по использованию макросов

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

  1. Перед тем, как записывать макрос с помощью рекордера, следует заранее продумать все свои действия, поскольку автоматизироваться будут все действия (в том числе, и ошибочные).
  2. Не стоит торопиться, поскольку паузы при записи макросов не учитываются. Вполне можно начать продумывать по ходу какие-то действия. А все записанные операции будут обработаны в один момент.
  3. Обязательно необходимо научиться использовать режим отладки макроса. Если возникают какие-то ошибки, он поможет обнаружить, в чем причина неполадки. На первых порах без ошибок не обойтись, потому что в реальной программе будет все не так идеально, как может показаться на первый взгляд.
  4. Перед использованием макросов, сделанных другими людьми, нужно настроить антивирусную программу на их обнаружение. Как правило, эта опция установлена по умолчанию.
  5. Если загружаются документы из сомнительных источников, следует выбрать опцию «Отключить макросы» при их открытии. И не рекомендуется менять настройки, которые выставлены по умолчанию в настройках безопасности Excel.

Выводы

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

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

Оцените качество статьи. Нам важно ваше мнение:

Надоело вручную разбивать объединенные ячейки в Excel? Устали каждый раз выравнивать «поползшую» информацию в таблице после выгрузок из 1С? В некорректных таблицах невозможно использовать автофильтр и приходится долго править и подготавливать их? Научитесь исправлять эти проблемы в два клика, используя макросы.

Макросам, или макрокомандам, можно задавать нужную последовательность действий и передавать всю техническую работу с отчетами. Для их создания нужно всего лишь научиться использовать возможности языка программирования VBA. Участвуйте в бесплатном вебинаре «Макросы: как создавать и использовать для обработки отчетов из 1С» , чтобы под руководством эксперта-практика Финансовой академии «Актив» изучить простые способы написания и применения макросов для автоматизации рутинной работы.

На вебинаре вы узнаете:

  • чем полезны макросы в рутинной офисной работе

  • как новичку создать макрос

  • как использовать макрорекодер, язык программирования VBA и готовые макросы

  • как с помощью макросов преобразовать отчет из 1С в один клик и многое другое

[Участвовать бесплатно]


Программа вебинара

  1. Что такое макрос?
  2. Способы создания макросов: макрорекодер, язык VBA, готовые макросы.
  3. Макрорекодер – создание макросов для начинающих пользователей.
  4. Преобразование отчета из 1С в формат, позволяющий осуществлять дальнейшую работу с данным отчетом.

Лектор

Насонова Надежда Юрьевна

  • тьютор Финансовой академии «Актив»

  • Эксперт-практик с опытом преподавания более 8 лет

  • Директор по экономике и финансам ООО «КриоГаз» (филиал г.Екатеринбург)

  • Дипломы: Аттестат профессионального бухгалтера.

Дата проведения: 27 сентября

Время: 16:00-17:00 (МСК)

Стоимость: бесплатно

[Записаться на участие]

Понравилась статья? Поделить с друзьями:
  • Макросы в excel для сравнения двух столбцов
  • Макросы vba в excel что это такое
  • Макросы в excel бейсике
  • Макросы в excel для сортировки
  • Макросы vba в excel android