На чтение 2 мин Опубликовано 09.11.2015
Возможности Excel не ограничиваются набором встроенных функций. При помощи написания макросов Вы можете создавать собственные функции для выполнения нестандартных задач в Excel.
Например, самостоятельно написанный макрос можно привязать к иконке и вывести на Ленту меню. Либо Вы можете создать пользовательскую функцию (UDF) и использовать ее точно так же, как и остальные встроенные функции Excel.
Макрос — это компьютерный код, написанный для Excel на языке программирования Visual Basic for Applications (VBA). Базовые понятия языка программирования VBA рассматриваются на нашем сайте в Учебнике по VBA. Однако прежде чем приступить к написанию кода VBA, рекомендуем познакомиться с уроками, в которых рассматривается безопасность макросов Excel и редактор Visual Basic.
Содержание
- Настройка разрешения для использования макросов в Excel
- Редактор Visual Basic
- Запись макросов
- Учебник Excel VBA
Настройка разрешения для использования макросов в Excel
В Excel предусмотрена встроенная защита от вирусов, которые могут проникнуть в компьютер через макросы. Если хотите запустить в книге Excel макрос, убедитесь, что параметры безопасности настроены правильно.
Кликните эту ссылку, чтобы узнать больше о параметрах безопасности макросов в Excel
Редактор Visual Basic
В Excel есть встроенный редактор Visual Basic, который хранит код макроса и взаимодействует с книгой Excel. Редактор Visual Basic выделяет ошибки в синтаксисе языка программирования и предоставляет инструменты отладки для отслеживания работы и обнаружения ошибок в коде, помогая таким образом разработчику при написании кода.
Кликните эту ссылку, чтобы узнать больше о редакторе Visual Basic в Excel
Запись макросов
Инструментарий Excel для записи макросов – это отличный способ эффективно выполнять простые повторяющиеся задачи. Также его можно использовать, как вспомогательное средство при написании более сложных макросов.
Кликните эту ссылку, чтобы узнать больше о записи макросов в Excel
Учебник Excel VBA
Для тех, кто только начинает осваивать язык программирования Excel VBA, предлагаем небольшой вводный курс по Visual Basic for Applications.
Кликните эту ссылку, чтобы перейти к учебнику Excel VBA
Оцените качество статьи. Нам важно ваше мнение:
Главная » VBA » Excel макросы учебник с примерами
Самоучитель по работе с макросами в Excel
Смотрите также окне «Project-VBAProject», в и как записывать таблицы Excel. кнопку и нажмите кнопку цветом и полужирным
как процедура (Sub) информационные сообщения пользователям Вы увидите: диаграммыПримеры: ЕСЛИОШИБКА, ЕОШИБКА, Циклическая день месяца, Праздники, можно будет открыть Существует множество бесплатных Ленте меню открывается простых и понятных разработчику при написанииВозможности Excel не ограничиваются
дереве проектов появиться в нее своиИсходный код макросаOKИзменить шрифтом имена клиентов – не может. Вашей программы. – это не ссылка, Зависимости формул, Квартал, День года. этот файл. шаблонов, которые так вкладка Главная. Узнайте, примеров. Хотите узнать кода. набором встроенных функций.
Настройка разрешения для использования макросов в Excel
доступная еще одна макросы? для объединения всех, чтобы начать запись. Запустится редактор Visual с просроченными счетами.Объект Application: Главным вОбъекты Workbook и Worksheet: сложно.Примеры: Гистограмма, График,
Ошибка плавающей запятой.Текстовые функции: Excel предлагаетПримеры: Защита книги, Защита и просятся, чтобы
Редактор Visual Basic
как сворачивать и об Excel намногоКликните эту ссылку, чтобы При помощи написания книга Personal.xlsb. КликнитеКак создать и добавить пустых ячеек во макроса. Basic. Для этого можно иерархии объектов является Узнайте больше об Круговая диаграмма, ЛинейчатаяФормулы массива: Изучив эту огромное количество функций
листа, Блокировка ячеек, их использовали. настраивать Ленту. больше? Немедленно приступайте
Запись макросов
узнать больше о макросов Вы можете на «плюсик» слева надстройку в Excel всех строках таблицыВыполните действия, которые нужноОбратите внимание на то, создать и выполнить сам Excel. Мы
объектах Workbook и диаграмма, Диаграмма с главу, Вы будете для самых различных
Учебник Excel VBA
Книга только дляПримеры: Календарь, Бюджет, ПланировщикПримеры: Панель быстрого доступа, к изучению Microsoft редакторе Visual Basic создавать собственные функции
на против этой с кодом VBA. Excel по горизонтали.
автоматизировать, например ввод как в нем
макрос, который быстро
называем его объект
Worksheet в VBA.
office-guru.ru
300 примеров по Excel
областями, Точечная диаграмма, понимать, что такое операций с текстовыми чтения, Пометить как питания, Счет-фактура, Автоматизированный Вкладка Разработчик. Excel вместе с в Excel для выполнения нестандартных книги, чтобы раскрытьПрактическое пошаговое руководство Как автоматически объединить стандартного текста или выглядят записанные действия. применяет такое форматирование Application. Объект ApplicationОбъект Range: Объект Range Ряды данных, Оси,
- формулы массива в
- строками.
- окончательную.
- счет-фактура, Шаблоны по
- Рабочая книга: Книгой называют
Офис-Гуру! С намиИнструментарий Excel для записи задач в Excel. проект книги Personal.xlsb. по созданию надстроек все пустые ячейки? заполнение столбца данных. Возможно, часть кода к выделенным ячейкам. открывает доступ ко – это ячейка Лист диаграммы, Линия Excel. Одноячеечные формулыПримеры: Разделение строки, КоличествоУзнайте, как функции в
умолчанию. файл Excel. Когда вам будет гораздо макросов – этоНапример, самостоятельно написанный макрос А после двойным с VBA кодомМакрос для объединения всехНа вкладке
Введение
будет понятной.Windows macOS многим параметрам, связанным
(или ячейки) Вашего тренда, Предел погрешностей, массива позволяют выполнять экземпляров текста, Количество Excel помогают сэкономитьПроверка данных: Используйте проверку Вы запускаете Excel, проще! отличный способ эффективно можно привязать к щелчком отройте ее
- программ макросов. Управление, пустых ячеек вРазработчикИзмените код, закройте редакторДействия перед записью макроса с самим приложением листа. Это самый Спарклайны, Комбинированная диаграмма,
сразу серию вычислений слов, Текст по время. Если Вы данных в Excel автоматически создаётся пустаяДанный курс по Excel
- выполнять простые повторяющиеся иконке и вывести Module1. редактирование и удаление таблице Excel.в группе
Visual Basic и Excel. важный объект VBA. Диаграмма-спидометр, Диаграмма-термометр, Диаграмма
Основы
в одной ячейке. столбцам, Верхний и только начинаете знакомство
- и будьте уверены, рабочая книга. – это перевод задачи. Также его на Ленту меню.В результате откроется окно
надстроек из программы.Пример как автоматически
- Код запустите макрос повторно.Макросы и средства VBAЭлементы управления ActiveX: НаучитесьПеременные: В этом разделе
Ганта, Диаграмма Парето.Примеры: Подсчёт ошибок, Подсчёт нижний регистр, Удалить с функциями в
- что пользователи введутПримеры: Сохраняем в формате очень популярного англоязычного можно использовать, как Либо Вы можете кода модуля сКак написать макрос в убрать пустые ячейкинажмите кнопку Посмотрите, что произойдет.
находятся на вкладке создавать элементы управления Вы научитесь объявлять,Сводные таблицы: Сводные таблицы уникальных значений, Подсчёт
- ненужные символы, Сравнение Excel, то рекомендуем в ячейку только Excel 97-2003, Просмотр сайта-самоучителя – excel-easy.com, вспомогательное средство при
создать пользовательскую функцию зарегистрированным макросом. Удалите Excel на языке с помощью ихОстановить записьДополнительные сведения о созданииРазработчик ActiveX, такие как инициализировать и отображать
- – один из с критерием «ИЛИ», текста, Функции НАЙТИ Вам сначала познакомиться подходящее значение. нескольких рабочих книг,
который посещают десятки написании более сложных (UDF) и использовать его код и программирования VBA.
- объединения с использованием. макросов см. в, которая по умолчанию кнопки, текстовые поля, переменную в VBA. самых мощных инструментов Суммирование каждой n-ой и ПОИСК, Функции с главой Введение
Примеры: Отбросить недопустимые даты, Рабочая область, Автовосстановление. тысяч человек ежедневно! макросов.
- ее точно так введите код своегоКак создать макрос макроса. Автоматизированное форматированиеБолее подробное изучение макроса статье Создание и
скрыта, поэтому сначала поля со спискомВыражение «If Then»: Используйте Excel. Сводная таблица строки, Суммирование наибольших
- ПОДСТАВИТЬ и ЗАМЕНИТЬ. в формулы и Ограничение бюджета, ПредотвращениеРабочий лист: Лист –
Думаю, что иКликните эту ссылку, чтобы
- же, как и макроса. Выберите инструмент с помощью редактора больших таблиц. удаление макросов.
нужно включить ее. и так далее. выражение «If Then» позволит выделить суть чисел, Суммирование диапазонаФункции поиска и ссылок: функции. дублирования записей, Коды
- это набор ячеек, вас он не узнать больше о остальные встроенные функции в редакторе макросов: кода языка программированияКак разъединить объединенные ячейкиПри редактировании макроса можноСведения о запуске макросов Дополнительные сведения см.Userform: В этой главе
в VBA, чтобы из огромного набора с ошибками, Суммирование Узнайте всё оСЧЁТ и СУММ: Чаще продуктов, Выпадающий список, в которых Вы оставит равнодушными! записи макросов в
- Excel. «File»-«Save Personal.xlsb», а Visual Basic for в Excel используя немного изучить язык
см. в статье в статье Отображение Вы узнаете, как выполнять строки кода, данных.
Функции
с критерием «ИЛИ», функциях Excel для всего в Excel Зависимые выпадающие списки. храните и обрабатываетеЭтот раздел предназначен для ExcelМакрос — это компьютерный потом закройте редактор Application? Краткий обзор
- макрос. программирования Visual Basic. Запуск макроса. вкладки «Разработчик». создавать пользовательские формы если встречается определённоеТаблицы: Таблицы нужны для Поиск в двух работы со ссылками
используются функции, которыеСочетания клавиш: Сочетания клавиш данные. По умолчанию пользователей, не знакомыхДля тех, кто только
- код, написанный для Visual Basic. основных возможностей макросов.Как автоматически отменить
Чтобы изменить макрос, наДействия перед записью макроса
- Запись макроса в VBA. условие. того, чтобы выполнять столбцах, Наиболее часто и массивами, таких подсчитывают количество и позволяют увеличивать скорость
каждая рабочая книга с Excel. начинает осваивать язык
- Excel на языке 1 2 3 объединение для всех вкладке Автор: Антон АндроновЦикл: Циклы – это анализ имеющихся данных
встречающееся слово, Система как ВПР, ГПР, сумму. Вы можете работы, используя клавиатуру Excel содержит триMicrosoft Excel – одно
- программирования Excel VBA, программирования Visual BasicТеперь у вас подключена 4 выделенных ячеек по
разработчикУбедитесь в том, чтоВ группеПримечание: мощнейшая из техник быстро и легко. линейных уравнений. ПОИСКПОЗ, ИНДЕКС и посчитать количество и
- вместо мыши. листа (в Excel из самых широко предлагаем небольшой вводный for Applications (VBA). скрытая книга дляБольшинство пользователей Excel знают, строкам и столбцам
нажмите кнопку Макросы на ленте отображаетсяКод Мы стараемся как можно программирования. Цикл в
- Анализ «Что-если»: Анализ «Что-если»Эта глава рассказывает о ВЫБОР. сумму значений, выбранных
Примеры: Функциональные клавиши, Подсказки 2010 и более используемых приложений в курс по Visual Базовые понятия языка
- хранения макросов, к как создать и сохранив и заполнив , выберите имя
вкладкана вкладке оперативнее обеспечивать вас VBA позволяет Вам в Excel позволяет
- мощных инструментах, которыеПримеры: Налоговые ставки, Функция по одному или клавиш. ранних версиях). истории. Сотни миллионов Basic for Applications.
программирования VBA рассматриваются которым можно получить использовать макрос внутри
- текст, которых содержится макроса и нажмитеРазработчикРазработчик актуальными справочными материалами
обрабатывать диапазон ячеек подставлять различные значения предлагает Excel для
- СМЕЩ, «Левый” поиск, по нескольким критериям.Печать: Эта глава научитПримеры: Масштаб, Разделяем лист, людей во всёмКликните эту ссылку, чтобы на нашем сайте доступ из любой
файла одной рабочей в них? кнопку. По умолчанию вкладканажмите кнопку на вашем языке. снова и снова, (сценарии) в формулы. анализа данных. Двумерный поиск, ПоискПримеры: Подсчёт вхождений текста, вас отправлять листы
Анализ данных
Закрепление областей, Группировка мире пользуются Microsoft перейти к учебнику в Учебнике по
- другой рабочей книги. книги. В случаи,Как объединить столбцы визменитьРазработчикЗапись макроса Эта страница переведена написав для этого
- Поиск Решения: В арсеналеСортировка: В Excel Вы максимального значения, Функция Подсчёт логических значений, Excel на печать листов, Консолидация, Просмотр Excel. Excel умеет Excel VBA VBA. Однако прежде Личная книга макросов
- когда необходимо использовать Excel используя макрос.. Откроется редактор Visualне видна, поэтому. автоматически, поэтому ее всего лишь несколько Excel есть инструмент, можете сортировать по ДВССЫЛ. Подсчёт пустых и и задавать некоторые нескольких листов, Проверка
- работать с даннымиУрок подготовлен для Вас чем приступить к где находится находиться тот же макросАвтоматическое горизонтальное объединение Basic. необходимо выполнить указанныеЕсли необходимо, заполните поля текст может содержать строк кода. который называется «Поиск одному или несколькимФинансовые функции: Этот раздел непустых ячеек, Функция важные настройки при
- правописания. любого типа и командой сайта office-guru.ru написанию кода VBA, в папке автозагрузки в других файлах всех выделенных ячеек
- Обратите внимание на то, ниже действия.Имя макроса неточности и грамматические
- Ошибки макросов: Этот раздел Решения». Он использует столбцам. Расположите данные рассказывает о наиболее
- СУММПРОИЗВ. печати.Форматирование ячеек: При форматировании выполнять финансовые, математическиеИсточник: http://www.excelfunctions.net/Writing-Excel-Macros.html рекомендуем познакомиться с файлов Excel – рабочих книг, тогда по столбцам таблицы
- как в немВыберите, ошибки. Для нас научит справляться с различные методы анализа
VBA
по убыванию или популярных финансовых функцияхЛогические функции: Узнайте, какПримеры: Режимы просмотра, Разрывы ячеек в Excel, и статистические вычисления.Перевел: Антон Андронов уроками, в которых
- XLSTART: C:Documents and можно сохранить его с помощью VBA выглядят записанные действия.ExcelСочетание клавиш важно, чтобы эта ошибками макросов в
- вычислений для поиска по возрастанию.Примеры: Сортировка Excel. пользоваться логическими функциями страниц, Верхние и мы изменяем лишь
- Диапазон: Диапазон в ExcelАвтор: Антон Андронов рассматривается безопасность макросов SettingsUser_NameAppDataRoamingMicrosoftExcelXLSTARTPersonal.xlsb
- в личной книге макроса. Как одновременно Возможно, часть кода>и
- статья была вам Excel. наилучших решений для по цвету, Обратный
- Примеры: Кредиты различной длительности, Excel, такими как нижние колонтитулы, Номера внешний вид содержимого, – это наборИщите примеры работы в
- Excel и редакторПримечание. XLSTART – это макросов. У нее объединить ячейки в будет понятной.ПараметрыОписание полезна. Просим васОперации со строками: В
- задач оптимизации всех список, Случайный список. Инвестиции и аннуитет, ЕСЛИ, И, ИЛИ.
- страниц, Печать заголовков, не изменяя самого из двух или Excel? Хотите найти Visual Basic. папка для автозагрузки всегда одно название
- нескольких выделенных диапазонах?Измените код, закройте редактор>, а затем нажмите
- уделить пару секунд этом разделе Вы видов.Фильтрация: Настройте фильтр для
- Расчёт сложных процентов,Примеры: Вложенные функции ЕСЛИ, Центрирование на странице, значения. более ячеек. В понятную инструкцию, котораяВ Excel предусмотрена встроенная файлов вместе с
- – Personal.xlsb. ОнаКак объединить ячейки в Visual Basic иЛента и панель кнопку и сообщить, помогла найдёте сведения о
- Пакет анализа: Пакет анализа данных в Excel, График погашения кредита, Игра «Бросить кости». Печать сетки иПримеры: Десятичные знаки, Денежный этой главе Вы позволит в совершенстве защита от вирусов,
- запуском программы Excel. всегда открывается при Excel с помощью запустите макрос повторно..OK
- ли она вам, самых важных функциях – это надстройка чтобы видеть только
Амортизация.
office-guru.ru
Краткое руководство: создание макроса
Ссылки на ячейки: Ссылка заголовков строк/столбцов, Область против финансового, Форматы найдёте обзор некоторых овладеть великим множеством которые могут проникнуть Если сохранить файл запуске программы Excel, кода макроса VBA. Посмотрите, что произойдет.В категории, чтобы начать запись с помощью кнопок для работы со Excel, которая предоставляет записи, удовлетворяющие определённомуСтатистические функции: Здесь Вы на ячейку – печати. даты и времени, очень важных операций
инструментов Excel, причем в компьютер через в данную папку, только скрыто. ДаннаяКак можно быстроУзнайте о том, какНастроить ленту макроса. внизу страницы. Для строковыми элементами в инструменты для анализа критерию.Примеры: Числовые и найдёте обзор самых это очень важныйОбмен данными и общий
Дроби, Текст в с диапазонами. быстро и легко? макросы. Если хотите то он будет книга не является объединять ячейки для создавать и запускатьв спискеВыполните действия, которые нужно удобства также приводим VBA.
финансовых, статистических и
Процедура
|
текстовые фильтры, Фильтры полезных статистических функций элемент Excel. Поймите доступ: Узнайте, как число, Число вПримеры: Последовательность Фибоначчи, Пользовательские Предлагаем Вашему вниманию запустить в книге открываться вместе с доступной по умолчанию таблиц со сложной |
|
макросы. Дополнительные сведенияОсновные вкладки
|
|
Excel на простых что параметры безопасности версий старше 2007 ее нужно сначала макросы? Пример готового Создание, выполнение, изменениеРазработчик заполнение столбца данных.Для автоматизации часто выполняемых и временем в Applications) – это Удаляем дубликаты, Структурирование нули, Случайные числа, ссылками, и Вы Word или в образцу, Стили ячеек, Пропускать пустые ячейки, примерах настроены правильно. путь к папке подключить. VBA кода макроса и удаление макроса., а затем нажмитеНа вкладке в Microsoft Excel |
Дальнейшие действия
-
VBA. название языка программирования данных. Функция РАНГ, ПЕРСЕНТИЛЬ
-
наверняка добьётесь успеха! другие файлы. Кроме Темы.
Процедура
|
Транспонирование, Объединение и. Здесь Вы найдёте Кликните эту ссылку, чтобы автозагрузки будет следующим:Чтобы создать и схоронить для объединения ячеек.Скачать бесплатно исходные кнопкуРазработчик задач можно записатьСобытия: События – это
|
|
В данном разделе в Excel позволяет
|
|
автоматической обработки, редактированияЗапись макроса . набор действий), которое кода VBA. примеры использования VBA цветом в зависимости описаны три самыхДата и время: Чтобы общий доступ к очень полезных инструмента которое вычисляет значение на практике. СамоучительВ Excel есть встроенный макрос просто откройте В появившемся диалоговом окне с помощью кнопки, и форматирования больших Более подробное изучение макроса можно выполнять любоеМассив: Массив – это применительно к Excel. от содержащихся в |
Дальнейшие действия
популярных функции для ввести дату в книге Excel. Excel: Найти и ячейки. Функции – состоит из пяти
support.office.com
Возможности макросов в Excel исходные коды и описание
редактор Visual Basic, редактор, а потом «Запись макроса», из панели быстрого запуска таблиц.На вкладке
Примеры возможностей макросов с описанием кодов
количество раз. При группа переменных. В
Создание макроса: При помощи них значений.Примеры: Управление округления чисел в Excel, используйте символы-разделители:Примеры: Лист Excel в заменить и Перейти. это предопределённые формулы, разделов: который хранит код
откройте модуль книги выпадающего списка «Сохранить и стандартными средствамиМакрос для объединения одинаковыхРазработчикПри редактировании макроса можно создании макроса записываются VBA Вы можете VBA Вы можете правилами, Гистограммы, Цветовые
Excel. Это функции слеш (/), тире Word, Сохранить вПримеры: Особенности инструмента «Найти», доступные в Excel.Введение макроса и взаимодействует Personal.xlsb. Уже записанные в:» выберите опцию
на панели инструментов ячеек в таблиценажмите кнопку немного изучить язык щелчки мышью и сослаться на определённую автоматизировать задачи в шкалы, Наборы значков, ОКРУГЛ, ОКРУГЛВВЕРХ и
(-) или точку PDF, Общий доступ Удаляем пустые строки,Примеры: Процентное изменение, ИменаОсновы с книгой Excel. в нее макросы «Личная книга макросов». РАЗРАБОТЧИК? Excel.
Запись макроса программирования Visual Basic. нажатия клавиш. После переменную (элемент) массива, Excel, записывая так Новое правило, Поиск ОКРУГЛВНИЗ. (.). Чтобы ввести к книге, SkyDrive,
Отличия по строкам, в формулах, ДинамическийФункции Редактор Visual Basic удалять не нужно. И нажмите наЛичная книга макросов вИсходный код макроса.
Чтобы изменить макрос, в создания макроса его используя для этого называемые макросы. В дубликатов, Закрашивание чередующихсяПримеры: Отбрасываем десятичные знаки, время, используйте двоеточие Excel Online, Импорт Копируем только видимые именованный диапазон, ПараметрыАнализ данных
выделяет ошибки в Они не будут кнопку OK. Excel и как для одновременного поискаЕсли необходимо, заполните поля группе можно отредактировать, чтобы имя массива и
этом разделе Вы строк, Сравнение двух Ближайшее кратное, Четные (:). Дату и данных из Access, ячейки, Строка поиска. вставки, Строка состояния,VBA
exceltable.com
Личная книга макросов в Excel и как ее использовать
синтаксисе языка программирования между собой конфликтоватьТеперь выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Остановить ее использовать. и объединения ячеекИмя макросаКод изменить выполняемые им числовой индекс элемента. научитесь создавать простой списков, Конфликт правил, и нечетные. время можно вводить Microsoft Query, ИмпортШаблоны: Вместо того, чтобы Быстрые операции.Каждый раздел содержит несколько и предоставляет инструменты если соблюдать одно запись».Работа с личной с одинаковыми значениями
Как сохранить макрос в личную книгу макросов
,на вкладке действия.
- Function и Sub: В
- макрос. Чеклист.Ошибки в формулах: Эта в одну ячейку. и экспорт текстовых создавать рабочую книгуЭтот раздел даёт базовые
- глав. В каждой отладки для отслеживания
- простое правило –Откройте редактор Visual Basic: книгой макросов и в таблице. РаботаСочетание клавишРазработчикДопустим, что необходимо каждый Visual Basic forMsgBox: MsgBox – этоДиаграммы: Простейшая диаграмма в глава научит ВасПримеры: Функция РАЗНДАТ, Будние файлов, XML. Excel с чистого понятия по работе
- главе вы найдете работы и обнаружения в одном модуле «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или краткий обзор ее со свойством Merge.инажмите кнопку месяц создавать отчет Applications функция (Function)
диалоговое окно в
Excel может быть справляться с некоторыми и рабочие дни,Защита: Зашифруйте файл Excel листа, Вы можете в Excel. ознакомительный урок, раскрывающий ошибок в коде, нельзя хранить макросы нажмите комбинацию горячих преимуществ. Где находитьсяМакрос для объединения пустых
ОписаниеМакросы для главного бухгалтера. может возвращать значение, VBA, при помощи более красноречивой, чем распространёнными ошибками в Дней до дня при помощи пароля. создать рабочую книгуЛента меню: Когда Вы основные понятия и помогая таким образом
с одинаковыми именами. клавиш ALT+F11. В личная книга макросов ячеек в строках, а затем нажмите, выделите имя макроса Требуется выделить красным в то время которого можно показывать таблица полная чисел. формулах Excel. рождения, Табель, Последний Только зная пароль, на базе шаблона. запускаете Excel, на
exceltable.com
положения, и несколько
Руководство и примеры работы с макросами в Excel
Многие люди думают, что макросы в Excel – это очень трудно, но это не так. В этой статье Вы найдёте несколько интересных и простых примеров, как можно автоматизировать Ваши повседневные задачи в Excel. Макрос – это программа на Visual Basic, созданная для того, чтобы автоматизировать задачи в Microsoft Office. В своих примерах я использую Excel 2010, но с таким же успехом Вы можете использовать Excel 2007.
Создаем макрос при помощи команды «Запись макроса»
- Для начала откройте вкладку View (Вид) на Ленте. В выпадающем списке Macros (Макросы) нажмите кнопку Record Macro (Запись макроса).
Откроется диалоговое окно Record Macro (Запись Макроса).
Доступ к записанному макросу можно получить с помощью команды View Macros (Макросы), которая находится на вкладке View (Вид) в выпадающем меню Macros (Макросы). Откроется диалоговое окно Macro (Макрос), в котором Вы сможете выбрать нужный. Дважды кликните по имени макроса, чтобы выполнить программу.
Кроме этого, Вы можете связать макрос с кнопкой. Для этого:
- На вкладке File (Файл) нажмите Options (Параметры) >Quick Access Toolbar (Панель быстрого доступа).
- В поле Choose commands from (Выбрать команды из) выберите All Commands (Все команды).
- Найдите команду Option Button (Кнопка), нам нужна та, что относится к разделу Form Control (Элементы управления формы). Выделите ее и нажмите Add (Добавить). Затем нажмите ОК, чтобы закрыть параметры Excel.
- Выберите команду, только что добавленную на Панель быстрого доступа, и начертите контур кнопки на рабочем листе Excel.
- Назначьте макрос объекту.
Примечание: Если у вас включена вкладка Developer (Разработчик), то получить доступ к элементам управления формы можно с нее. Для этого перейдите на вкладку Developer (Разработчик), нажмите на иконку Insert (Вставить) и из раскрывающегося меню выберите нужный элемент.
Не знаете, как отобразить вкладку Developer (Разработчик)? Excel 2007: жмем на кнопку Office > Excel Options (Параметры Excel) > Popular (Основные) и ставим галочку напротив опции Show Developer tab in the Ribbon (Показывать вкладку “Разработчик” на ленте). Excel 2010: жмем по вкладке File (Файл) > Options (Параметры) > Customize Ribbon (Настройка ленты) и в правом списке включаем вкладку Developer (Разработчик).
В следующем примере Вы увидите, как использовать цикл FOR. Цикл FOR позволяет нам выполнить повторение цикла с разными значениями. Давайте посмотрим, как можно заполнить числами от 1 до 5 ячейки A1:A5.
Для этого на вкладке Developer (Разработчик) нажмите Visual Basic. Дважды кликните по объекту из списка Microsoft Excel Objects, в котором должен быть сохранён макрос. Введите вот такой код:
Сохраните файл. Чтобы выполнить макрос, перейдите View > Macros > View Macros (Вид > Макросы > Макросы), выберите из списка название нужного макроса и нажмите Run (Выполнить).
Следующий код отображает фразу “Hello World” в окне сообщений Windows.
В следующем примере мы создаём сообщение с выбором Yes (Да) или No (Нет). Если выбрать вариант Yes (Да), то значение ячейки будет удалено.
Давайте проверим этот код. Выделите ячейку и запустите макрос. Вам будет показано вот такое сообщение:
Если Вы нажмёте Yes (Да), значение в выделенной ячейке будет удалено. А если No (Нет) – значение сохранится.
Конструкция IF
В Microsoft Excel Вы также можете использовать конструкцию IF. В этом коде мы будем раскрашивать ячейки в зависимости от их значения. Если значение в ячейке больше 20, то шрифт станет красным, иначе – синим.
Для проверки этого кода выберем ячейку со значением больше 20:
Когда Вы запустите макрос, цвет шрифта изменится на красный:
При выполнении второго условия шрифт станет синим:
Конструкция CASE
Вы также можете использовать конструкцию Case, чтобы связать выполнение действия с появлением определённого значения в ячейке. В следующем примере отображается сообщение, содержание которого зависит от указанного возраста человека.
Чтобы протестировать этот пример, Вы должны выбрать ячейку со значением и запустить макрос. Если значение выбранной ячейки, к примеру, равно 44, то будет показано вот такое сообщение:
Заключение
Макросы – это отличный способ автоматизировать задачи в Excel. Эта статья показывает лишь немногие примеры того, что можно сделать при помощи макросов.
Excel макросы учебник с примерами
М акросы в Excel для начинающих
Никогда не программировавшим часто трудно сразу читать примеры программ, нужно сначала понять основные принципы, узнать слова, которыми оперируют программисты. Эта страница специально создана для самых начинающих.
Итак, что такое макросы и как их писать?
Макросы — это программы в Excel. Макросы могут делать всё, что может делать пользователь вручную. Их полезно использовать для обработки данных или для автоматизации стандартных действий.
Макросы пишутся на языке VBA — Visual Basic for Applications. Эту аббревиатуру стоит запомнить и использовать в поисковых запросах при поиске нужной информации. VBA — объектно-ориентированный, иерархический язык. Это значит, что управлять придется объектами, подчиненными друг другу. Например, книга Excel — объект. В ней есть листы, на листах есть ячейки. Листы, ячейки, диапазоны и многое другое — это объекты. Подчиненность можно примерно приравнять вложенности — например, ячейка вложена в лист, а лист в книгу.
С объектами можно производить ряд действий, например, открывать, активировать, выделять, удалять, копировать и многое многое другое.
У объектов есть свойства. Например, лист может быть видимым или скрытым, активным или неактивным. У ячейки множество свойств, также всем известных: заливка, границы, цвет и размер текста, выравнивание. Свойства, естественно, можно менять.
Итак, объекты «встроены» друг в друга и имеют различные свойства. Познакомимся с ними поближе.
Не будем здесь приводить весь список, потому что он огромен. Ограничимся тем, что понадобится даже на первом этапе.
Workbook — рабочая книга Excel.
Действия с объектами
Activate — активировать, то есть, «поставить курсор». Активировать можно книгу, лист, ячейку.
Select — выделить. Выделять можно одну или несколько строк, один или несколько столбцов, диапазон или ячейку.
Delete — удалить. Удалить можно тоже строки и столбцы, диапазоны ячеек или одну ячейку, лист.
И отдельно идет действие Paste — вставить. Если за всеми предыдущими действиями стоит слово «что?» (что активировать, что скопировать), то за словом вставить идет вопрос «куда?». Поэтому и при написании программы нужно указывать не что вставить, а куда вставить.
Кроме выполнения программ Excel может «отдавать информацию» по заданным командам. Вот несколько примеров таких команд:
Sheets.Count — выдает количество листов в книге.
Date — выдает сегодняшнюю дату в формате строки.
Len(«строка») — выдает длину строки в количестве символов. В этом примере длина равна 6.
Теперь нужно пару слов сказать о типах данных (переменных).
Для начала достаточно знать одно: данные бывают числами, а бывают строками, то есть текстом. С числами можно совершать одни действия (складывать и т.д.), со строками — другие (узнавать первый символ, например).
Все строковые величины в VBA пишутся в кавычках. Все названия/имена книг или листов — это текст, то есть строковая величина, поэтому всегда должна обрамляться кавычками.
И числа, и строки можно присваивать переменным.
Можно переопределять значения переменных, например, так:
После этого i=11, а s=»Привет, мир!».
Тут мы столкнулись с первой операцией над строковыми величинами. Знак & означает, что две строки нужно соединить. Порядок важен: если написать
s=», мир!» & s, то получим, s=», мир!Привет».
Так как переменная s уже хранит в себе кавычки, при её использовании не нужно заключать её в кавычки. Наоборот, именно отсутствие кавычек подскажет Excel’ю, что воспринимать её нужно как переменную, а не как текст. То есть, записи:
дадут одинаковый результат — присвоят переменной h значение «Привет, мир!»
присвоит переменной h значение «s».
Надо сказать, что объекты в Excel иногда пишут в единственном числе, иногда во множественном. Как запомнить, в каком случае что используется? Можно использовать такое правило: всё, чего в Excel’е много, пишется во множественном числе, всё, что в единственном экземпляре — в единственном. В Excel’е много книг, много листов и очень много ячеек. Все они одинаковы для Excel’я и отличить их можно только по имени или координатам. Поэтому в программе используется множественное число. Например:
Ячейки определяются по координатам: первая — номер строки, вторая — столбца.
поставит курсор в левую верхнюю ячейку.
«Обращаться» к книгам и листам можно не только по имени, но и по номеру. Чаще всего это нужно именно в работе с листами, когда нужно перебрать все. При обращении по номеру, номер не нужно заключать в кавычки
Единственное число используется, например, при ссылке на активную ячейку или лист, потому что, очевидно, активной может быть только одна ячейка или один лист. Например, «запомним» номер строки активной ячейки
Ссылаясь на объект не всегда нужно указывать полный путь к нему: если не указаны объекты более высокого уровня, макрос будет выполняться в активном на данный момент месте.
скопирует верхнюю левую ячейку на активном листе.
скопирует верхняя левую ячейку на листе «Лист1», независимо от того, активен этот лист сейчас или нет.
После этого вы уже можете писать макросы 🙂
Но лучше прочитайте еще про циклы и условный оператор , а потом про то, что такое коллекции объектов и что они нам могут дать.
Excel макросы учебник с примерами
Книга: Использование макросов в Excel.
Автор: С. Роман
Страниц: 507
Формат: DJVU
Размер: 8.02 Mb
Несмотря на мощные функциональные возможности, обеспечиваемые пользовательским интерфейсом Excel, существует ряд задач, выполнение которых возможно только программным путем. Книга «Использование макросов в Excel” представляет собой введение в программирование на Excel VBA, содержащее примеры решения различных практических задач, возникающих при работе в Excel. Материал книги рассчитан на пользователей Excel, а также программистов, которые не знакомых с объектной моделью Excel. Наряду с разделами, посвященными разработке макросов для Excel 2002, здесь излагается вводный курс по написанию макросов и программ в среде Excel.
Книга: Интенсивный курс программирования в Excel за выходные
Автор: П. Эйткен
Издательство: Диалектика
Страниц: 421
Формат: DJVU
Размер: 12.6 Мб
Качество: Нормальное
Язык: Русский
Жанр: программирование
Год издания: 2004
ISBN: 5-8459-0687-3
Возможности Microsoft Excel не ограничиваются только работой с таблицами данных. За средствами обработки электронных таблиц прячется сильный язык программирования — VBA (Visual Basic for Applications). Впрочем, практически хоть какой юзер имеет возможность выучиться писать программы на языке VBA для решения самых разнородных задач в Excel — от механического исполнения вычислений до создания системы для ввода данных с собственными экранными формами и с вероятностью ревизии корректности набираемых значений.
Книга: Программирование на VBA 2002
Автор: В.Г. Кузьменко
Качество: Нормальное
Язык: Русский
Жанр: программирование
В книге содержится курс по программированию на Visual Basic for Applications (VBA), являющимся базовым языком в приложениях Microsoft Office (Word, Excel, Access, PowerPoint, FrontPage, Visio и др.). Книга предназначена для начинающих программировать в среде Windows с применением Word-, Excel-, PowerPoint-объектов. Часть книги посвящена вопросам разработки Office-приложений, использующих базы данных, хранимых как в отдельных файлах, так и на удаленных серверах. Материала книги достаточно для изучения основ языка Visual Basic и создания простых макросов, помогающих автоматизировать рутинную повторяющуюся работу с документами, электронными таблицами, диаграммами, презентациями и т.д., а также для разработки довольно сложных приложений обработки баз данных с использованием диалоговых окон, обеспечивающих пользователя самыми современными интерфейсными средствами. Большинство примеров в книге посвящены актуальным в настоящее время вопросам коммерческой деятельности, поэтому книга будет очень полезной менеджерам различных уровней, которым, по-видимому, и предназначен как Microsoft Office, так и встроенный язык программирования VBA.
Приложения в конце книги могут послужить удобным справочником при работе как с VBA, так и с обычным VB.
Книга: Профессиональное программирование на VBA в Excel 2003
Автор: Джон Уокенбах
Издательство: Вильямс
Формат: PDF
Размер: 11 Мб
Качество: Отличное
Язык: Русский
Год издания: 2005
ISBN: 5-8459-0771-3
К книге прилагается диск
По Excel написано немало книг. Но эта книга является особенной — в ней разработка приложений электронных таблиц рассматривается в широком контексте. VBA — это всего лишь один из компонентов среды разработки пользовательских приложений, хотя и довольно существенный. Данная книга поможет вам разобраться в тонкостях разработки приложений с помощью VBA. В ней описаны многочисленные средства языка VBA, его возможности и среда использования.Вначале Вашему вниманию будет предложен обзор возможностей программы, далее Вы перейдете к определению концепций VBA-программирования, а затем познакомитесь с самим языком. Если вы начинающий программист на VBA, то в данном издании найдете всю необходимую информацию, которая потребуется для дальнейшей работы. если Вы уже обладаете завидным опытом работы с VBA, то эта книга обогатит и приумножит Ваши знания, пополнив их новыми методиками и примерами из реальной жизни.
Pdf-версия отредактирована и любезно предоставлена участником Alex_ST.
Книга: : Профессиональное программирование на VBA в Excel 2010
Автор: Джон Уокенбах
Издательство: Wiley
Формат: PDF
Страниц: 1308
Размер: 11,9 Мб
Качество: Отличное
Язык: Английский
Год издания: 2010
This book focuses on Visual Basic for Applications (VBA), the programming language built into Excel (and other applications that make up Microsoft Office). More specifically, it will show you how to write programs that automate various tasks in Excel. This book covers everything from recording simple macros through creating sophisticated user-oriented applications and utilities. This book does not cover Microsoft Visual Studio Tools for Office (VSTO). VSTO is a relatively new technology that uses Visual Basic .NET and Microsoft Visual C#. VSTO can also be used to control Excel and other Microsoft Office applications.
This is not a book for beginning Excel users. If you have no experience with Excel, a better choice might be Excel 2010 Bible, which provides comprehensive coverage of all the features of Excel. That book is meant for users of all levels.
Книга: : Профессиональное программирование на VBA в Excel 2010
Автор: Джон Уокенбах
Издательство: Диалектика
Формат: PDF
Страниц: 920
Размер: 22,1 Мб
Качество: Отличное
Язык: Русский
Год издания: 2010
Предмет рассмотрения этой книги — язык программирования Visual Basic for Applications (VBA), который встроен в Excel, а также в другие приложения, входящие в состав Microsoft Office. Здесь подробно описано создание программ, автоматизирующих выполнение различных задач в Excel, а также рассматривается широкий круг других тем — от написания простейших макросов до создания сложнейших приложений и утилит, рассчитанных на взаимодействие с пользователем. В этой книге нет описания программного пакета Microsoft Visual Studio Tools for Office (VSTO). Он представляет собой воплощение относительно новой технологии, использующей Visual Basic .NET и Microsoft Visual С#. Технология VSTO также может применяться для управления поведением программы Excel и других приложений Microsoft Office.
Книга не предназначена для начинающих пользователей Excel. Если у вас нет опыта работы с этим приложением, то прочтите сначала книгу Excel 2010. Библия пользователя, в которой подробно рассказывается обо всех возможностях Excel (она адресована пользователям всех уровней).
Книга: Самоучитель VBA
Автор: Гарнаев А.
Издательство: bhv
Страниц: 512
Формат: html с картинками в rar
ISBN: 5-8206-0067-3
Размер: 2,22 Мб
Автоматизация задач с помощью средства записи макросов — Excel
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.
При записи макроса записываются все действия, описанные в Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, нажатие ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов, а также импорт данных из внешнего источника, например Microsoft Access. Приложение Visual Basic (VBA) — это подмножество мощного языка программирования Visual Basic, которое входит в большинство приложений Office. Несмотря на то, что VBA обеспечивает возможность автоматизации процессов между приложениями Office, вам не нужно знать код VBA или программное программирование, если это нужно.
Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш с CTRL+SHIFT, так как они будут заменять собой совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос. Например, если назначить сочетание клавиш CTRL+Z (Отменить), вы не сможете использовать его для функции «Отменить» в данном экземпляре Excel.
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в указанном расположении книги , но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите пункт Личная книга макросов . Если выбрать команду Личная книга макросов, Excel создаст скрытую личную книгу макросов (личное. xlsb), если она еще не существует, и сохранит макрос в этой книге.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Кроме того, желательно ввести понятное описание, которое будет полезно вам и всем, кто запускает макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке разработчик в группе код нажмите кнопку остановить запись .
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8. При этом откроется диалоговое окно Макрос.
Внимание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Сведения о параметрах безопасности макросов и их значении.
Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги.
С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
На листе щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому нужно назначить существующий макрос, а затем выберите команду назначить макрос.
В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Узнайте, как включать и отключать макросы в файлах Office.
Открытие редактора Visual Basic
Нажмите клавиши ALT+F11.
Узнайте, как найти справку по элементам Visual Basic.
Работа с записанным кодом в редакторе Visual Basic (VBE)
С помощью редактора Visual Basic (VBE) вы можете добавлять в записанный код собственные переменные, управляющие структуры и другие элементы, которые не поддерживает средство записи макросов. Так как средство записи макросов фиксирует почти каждый шаг, выполняемый во время записи, может также потребоваться удалить ненужный код. Просмотр записанного кода — отличный способ научиться программировать на VBA или отточить свои навыки.
Пример изменения записанного кода можно найти в статье Начало работы с VBA в Excel.
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
Перейдите в раздел настройки _гт_ Excel. панель инструментов _Гт_ ленты _амп_.
В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в указанном расположении книги , но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите пункт Личная книга макросов. Если выбрать команду Личная книга макросов, в Excel будет создана скрытая личная книга макросов (личное. XLSB), если он еще не существует, и сохранение макроса в этой книге. Книги в этой папке открываются автоматически при запуске Excel, а код, хранящийся в личной книге макросов, будет указан в диалоговом окне Макрос, которое описано в следующем разделе.
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш, которые еще не назначены другим командам, так как они будут переопределять совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Полезно ввести понятное описание с любой полезной информацией, которая может быть полезна Вам или другим пользователям, которые будут запускать макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке Разработчик щелкните Остановить запись.
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. При этом откроется диалоговое окно Макрос.
Примечание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Читать и скачать книги по Excel, учебники, руководства, справочники
Microsoft Excel – самая популярная в мире программа электронных таблиц, входящая в стандартный офисный пакет Microsoft Office. Она выдержала уже несколько переизданий, возможности каждой новой версии расширяются, появляются новые формулы, макросы для вычислений, которые используются в бухгалтерском учете, научных и инженерных приложениях. MS Excel (неправильно называют также Exel, Exsel, эксель) – универсальная программа для составления электронных таблиц любой сложности и дизайна, графиков и диаграмм, поэтому современные офисные работники готовят в ней отчеты, экспортируют в Excel данные из других офисных программ.
Приложение Excel, будучи составной частью популярного пакета (имеется в виду Microsoft Office), по массовости своего использования уступает, пожалуй, только другому приложению этого же пакета (имеется в виду редактор Word). Хотя это утверждение основано и не на статистических данных, однако, думается, выглядит вполне правдоподобно. В любом случае, малознакомым широкому кругу пользователей приложение Excel никак не назовешь. Однако приложение это, несмотря на свою популярность, имеет в некотором отношении незаслуженную репутацию. За ним крепко укоренилась слава среды для составления финансовых отчетов, выполнения экономических прогнозов и подобного этому рода деятельности. Это – правда, но далеко не вся. У Microsoft Excel есть существенный, и, как представляется, не до конца раскрытый потенциал, и финансово-экономический анализ – это всего лишь одна из возможных областей применения Excel, важная, но далеко не единственная. Именно в том, чтобы показать возможности MS Excel при решении прикладных задач, и состоит цель данной подборки электронных книг.
В списке книг Вы можете найти популярные руководства, справочники, учебники и задачники, посвященные использованию электронных таблиц и правильному составлению формул и макросов для повседневной работы. Анализ «Что-если» для расчета срока кредита также можно выполнить с помощью инструментов сценариев Excel. Финансовый анализ для банковских служащих с помощью электронных таблиц уже стал стандартным для этой отрасли. Графический анализ статистических данных также возможен с помощью надстроек MS Excel.
Удобно пользоваться поиском книг на сайте. Если Вы не нашли нужную книгу на сайте, закажите её (пока бесплатно) на специальной странице заказа книг в поиске.
Введение
Всем нам приходится — кому реже, кому чаще — повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую «рутинную составляющую» — одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос — это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
В принципе, существует великое множество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP…), но для всех программ пакета Microsoft Office стандартом является именно встроенный язык VBA. Команды этого языка понимает любое офисное приложение, будь то Excel, Word, Outlook или Access.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно — редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис — Макрос — Редактор Visual Basic (Toos — Macro — Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer). Выбираем Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer). Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic (Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
- Обычные модули — используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert — Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
- Модуль Эта книга — также виден в левом верхнем углу редактора Visual Basic в окне, которое называется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при наступлении каких-либо событий в книге (открытие или сохранение книги, печать файла и т.п.):
- Модуль листа — доступен через Project Explorer и через контекстное меню листа, т.е. правой кнопкой мыши по ярлычку листа — команда Исходный текст (View Source). Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование или удаление листа и т.д.)
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
- Любой макрос должен начинаться с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки надо оставить пустыми.
- Любой макрос должен заканчиваться оператором End Sub.
- Все, что находится между Sub и End Sub — тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае макрос выделяет ячейку заливает выделенных диапазон (Selection) желтым цветом (код = 6) и затем проходит в цикле по всем ячейкам, заменяя формулы на значения. В конце выводится окно сообщения (MsgBox).
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно…
Способ 2. Запись макросов макрорекордером
Макрорекордер — это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу — запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись — ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) — во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше — выбрать в меню Сервис — Макрос — Начать запись (Tools — Macro — Record New Macro)
- в Excel 2007 и новее — нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса — подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш — будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис — Макрос — Макросы — Выполнить (Tools — Macro — Macros — Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в… — здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга — макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга — макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов — это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording).
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или — в старых версиях Excel — через меню Сервис — Макрос — Макросы (Tools — Macro — Macros):
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить (Run).
- Кнопка Параметры (Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить (Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис — Настройка (Tools — Customize) и перейдите на вкладку Команды (Commands). В категории Макросы легко найти веселый желтый «колобок» — Настраиваемую кнопку (Custom button):
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar):
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше — откройте панель инструментов Формы через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms)
- В Excel 2007 и новее — откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button):
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция — только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert — Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка — Функция) в категории Определенные пользователем (User Defined):
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
Содержание
- Способы записи макросов в Excel
- Создание макросов
- Создать макрос в Excel с помощью макрорекордера
- Написание макросов в Excel
- Настройка разрешения для использования макросов в Excel
- Вариант 1: Автоматическая запись макросов
- Запуск макроса
- Редактирование макроса
- Создание кнопки для запуска макросов в панели инструментов
- Создание графической кнопки на листе Excel
- Чтобы записать макрос, следует:
- Отображение вкладки “Разработчик” в ленте меню
- Абсолютная и относительная запись макроса
- Расширение файлов Excel, которые содержат макросы
- Что нельзя сделать с помощью макрорекодера?
- Редактор Visual Basic
- Запускаем выполнение макроса
- Корректируем макрос
Макрос записывается двумя способами: автоматически и вручную. Воспользовавшись первым вариантом, вы просто записываете определенные действия в Microsoft Excel, которые выполняете в данный момент времени. Потом можно будет воспроизвести эту запись. Такой метод очень легкий и не требует знания кода, но применение его на практике довольно ограничено. Ручная запись, наоборот, требует знаний программирования, так как код набирается вручную с клавиатуры. Однако грамотно написанный таким образом код может значительно ускорить выполнение процессов.
Создание макросов
В Эксель создать макросы можно вручную или автоматически. Последний вариант предполагает запись действий, которые мы выполняем в программе, для их дальнейшего повтора. Это достаточно простой способ, пользователь не должен обладать какими-то навыками кодирования и т.д. Однако, в связи с этим, применить его можно не всегда.
Чтобы создавать макросы вручную, нужно уметь программировать. Но именно такой способ иногда является единственным или одним из немногих вариантов эффективного решения поставленной задачи.
Создать макрос в Excel с помощью макрорекордера
Для начала проясним, что собой представляет макрорекордер и при чём тут макрос.
Макрорекордер – это вшитая в Excel небольшая программка, которая интерпретирует любое действие пользователя в кодах языка программирования VBA и записывает в программный модуль команды, которые получились в процессе работы. То есть, если мы при включенном макрорекордере, создадим нужный нам ежедневный отчёт, то макрорекордер всё запишет в своих командах пошагово и как итог создаст макрос, который будет создавать ежедневный отчёт автоматически.
Этот способ очень полезен тем, кто не владеет навыками и знаниями работы в языковой среде VBA. Но такая легкость в исполнении и записи макроса имеет свои минусы, как и плюсы:
- Записать макрорекордер может только то, что может пощупать, а значит записывать действия он может только в том случае, когда используются кнопки, иконки, команды меню и всё в этом духе, такие варианты как сортировка по цвету для него недоступна;
- В случае, когда в период записи была допущена ошибка, она также запишется. Но можно кнопкой отмены последнего действия, стереть последнюю команду которую вы неправильно записали на VBA;
- Запись в макрорекордере проводится только в границах окна MS Excel и в случае, когда вы закроете программу или включите другую, запись будет остановлена и перестанет выполняться.
Для включения макрорекордера на запись необходимо произвести следующие действия:
- в версии Excel от 2007 и к более новым вам нужно на вкладке «Разработчик» нажать кнопочку «Запись макроса»
- в версиях Excel от 2003 и к более старым (они еще очень часто используются) вам нужно в меню «Сервис» выбрать пункт «Макрос» и нажать кнопку «Начать запись».
Следующим шагом в работе с макрорекордером станет настройка его параметров для дальнейшей записи макроса, это можно произвести в окне «Запись макроса», где:
- поле «Имя макроса» — можете прописать понятное вам имя на любом языке, но должно начинаться с буквы и не содержать в себе знаком препинания и пробелы;
- поле «Сочетание клавиш» — будет вами использоваться, в дальнейшем, для быстрого старта вашего макроса. В случае, когда вам нужно будет прописать новое сочетание горячих клавиш, то эта возможность будет доступна в меню «Сервис» — «Макрос» — «Макросы» — «Выполнить» или же на вкладке «Разработчик» нажав кнопочку «Макросы»
- поле «Сохранить в…» — вы можете задать то место, куда будет сохранен (но не послан) текст макроса, а это 3 варианта:
- «Эта книга» — макрос будет записан в модуль текущей книги и сможет быть выполнен только в случае, когда данная книга Excel будет открыта;
- «Новая книга» — макрос будет сохранен в тот шаблон, на основе которого в Excel создается пустая новая книга, а это значит, что макрос станет доступен во всех книгах, которые будут создаваться на этом компьютере с этого момента;
- «Личная книга макросов» — является специальной книгой макросов Excel, которая называется «Personal.xls» и используется как специальное хранилище-библиотека макросов. При старте макросы из книги «Personal.xls» загружаются в память и могут быть запущены в любой книге в любой момент.
- поле «Описание» — здесь вы можете описать, что и как должен делать макрос, для чего он создавался и какие функции несет, это чисто информативное поле, что называется на память.
После того как вы запустили и записали свой макрос, выполнив все нужные действия, запись можно прекратить командой «Остановить запись» и ваш макрос с помощью макрорекордера будет создан.
Написание макросов в Excel
Код макроса Excel написанный на языке Visual Basic for Application (VBA), а его выполняет инструмент приложения, к которому он присоединен. Большинство этих инструментов не доступно на уровне окна программы Excel. Как написать макрос.
Теперь продемонстрируем на примере информацию о том, как писать, редактировать и выполнять код макроса.
Чтобы написать макрос:
- Откройте рабочую книгу Excel, в которой необходимо использовать макрос: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.
- Перед началом работы в редакторе следует сделать простую настройку. Выберите инструмент в редакторе Visual Basic: «Tools»-«Options». И на вкладке «Editor» активируйте опцию «Require Variable Declaration». Это позволит реализовать автоматическое заполнение инструкций Options Explicit в начале каждого ново созданного кода. А в поле ввода «Tab Width:» укажите значение 2 вместо 4-х. Это позволит уменьшить ширину кода. Данная настройка редактора распространяется на все листы, но в границах одной рабочей книги.
- Выберите инструмент: «Insert»-«Module» чтобы создать новый стандартный модуль для макросов. В появившемся окне модуля под текстом Option Explicit введите следующий код макроса:
- Нажмите на кнопку в редакторе «Run Macro» или клавишу F5 на клавиатуре. В появившемся окне «Macros» нажмите на кнопку «Run», чтобы посмотреть результат работы макроса.
SubMyMakros()
DimpolzovatelAs String
Dimdata_segodnyaAs Date
polzovatel = Application.UserName
data_segodnya = Now
MsgBox"Макрос запустил пользователь: "& polzovatel & vbNewLine & data_segodnya
End Sub
Примечание. Если в главном меню отсутствует закладка «РАЗРАБОТЧИК», тогда ее необходимо активировать в настройках: «ФАЙЛ»-«Параметры»-«Настроить ленту». В правом списке «Основные вкладки:» активируйте галочкой опцию «Разработчик» и нажмите на кнопку ОК.
Настройка разрешения для использования макросов в Excel
В Excel предусмотрена встроенная защита от вирусов, которые могут проникнуть в компьютер через макросы. Если хотите запустить в книге Excel макрос, убедитесь, что параметры безопасности настроены правильно.
Вариант 1: Автоматическая запись макросов
Прежде чем начать автоматическую запись макросов, нужно включить их в программе Microsoft Excel. Для этого воспользуйтесь нашим отдельным материалом.
Подробнее: Включение и отключение макросов в Microsoft Excel
Когда все готово, приступаем к записи.
- Перейдите на вкладку «Разработчик». Кликните по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».
- Открывается окно настройки записи макроса. Тут можно указать любое имя для него, если установленное по умолчанию вас не устраивает. Главное, чтобы имя это начиналось с буквы, а не с цифры, а также в названии не должно быть пробелов. Мы оставили название по умолчанию – «Макрос1».
- Тут же при желании можно установить сочетание клавиш, при нажатии на которые макрос будет запускаться. Первой клавишей обязательно должна быть Ctrl, а вторую пользователь устанавливает самостоятельно. Мы в качестве примера установили клавишу М.
- Далее следует определить, где будет храниться макрос. По умолчанию он расположен в этой же книге (файле), но при желании можно установить хранение в новой книге или в отдельной книге макросов. Мы оставим значение по умолчанию.
- В самом нижнем поле можно оставить любое подходящее по контексту описание макроса, но это делать не обязательно. Когда все настройки выполнены, жмем на кнопку «OK».
- После этого все ваши действия в данной книге (файле) Excel будут записываться в макрос до тех пор, пока вы сами не остановите запись.
- Для примера запишем простейшее арифметическое действие: сложение содержимого трех ячеек (=C4+C5+C6).
- Когда алгоритм был выполнен, щелкаем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса» после включения записи.
Запуск макроса
Для проверки того, как работает записанный макрос, выполним несколько простых действий.
- Кликаем в том же блоке инструментов «Код» по кнопке «Макросы» или жмем сочетание клавиш Alt + F8.
- После этого открывается окно со списком записанных макросов. Ищем макрос, который мы записали, выделяем его и кликаем на кнопку «Выполнить».
- Можно поступить еще проще и не вызывать даже окно выбора макросов, так как на первом этапе мы задали сочетание клавиш для быстрого вызова макроса. В нашем случае это Ctrl + М. Жмем данную комбинацию на клавиатуре, после чего он запускается.
- Как видим, он выполнил в точности все те действия, которые были записаны ранее.
Редактирование макроса
Естественно, при желании вы можете корректировать созданный макрос, чтобы всегда поддерживать его в актуальном состоянии и исправлять некоторые неточности, допущенные во время процесса записи.
- Снова щелкаем на кнопку «Макросы». В открывшемся окне выбираем нужный и кликаем по кнопке «Изменить».
- Открывается «Microsoft Visual Basic» (VBE) – среда, где происходит их редактирование.
- Запись каждого макроса начинается с команды
Sub
, а заканчивается командойEnd Sub
. Сразу же послеSub
указывается имя макроса. ОператорRange("…").Select
указывает выбор ячейки. Например, при команде «Range(«C4»).Select» выбирается ячейка «C4». ОператорActiveCell.FormulaR1C1
используется для записи действий в формулах и других расчетов. - Попытаемся немного изменить макрос, дописав выражение:
Range("C3").Select
ActiveCell.FormulaR1C1 = "11" - Выражение
ActiveCell.FormulaR1C1 = "=R[-3]C+R[-2]C+R[-1]C"
заменим наActiveCell.FormulaR1C1 = "= R[-4]C+R[-3]C+R[-2]C+R[-1]C"
. - Закрываем редактор и запускаем макрос. Как видим, вследствие введенных нами изменений была добавлена дополнительная ячейка с данными. Она также была включена в расчет общей суммы.
- В случае если макрос слишком большой, его выполнение может занять значительное время, но внесением ручного изменения в код мы можем ускорить процесс. Добавляем команду
Application.ScreenUpdating = False
. Она позволит сохранить вычислительные мощности, а значит, ускорить работу. Это достигается путем отказа от обновления экрана во время выполнения вычислительных действий. Чтобы возобновить обновление после выполнения макроса, в его конце пишем командуApplication.ScreenUpdating = True
. - Добавим также команду
Application.Calculation = xlCalculationManual
в начало кода, а в его конец дописываемApplication.Calculation = xlCalculationAutomatic
. Этим мы сначала отключаем автоматический пересчет результата после каждого изменения ячеек, а в конце макроса – включаем. Таким образом, Excel подсчитает результат только один раз, а не будет его постоянно пересчитывать, чем сэкономит время.
Создание кнопки для запуска макросов в панели инструментов
Как я говорил ранее вы можете вызывать процедуру макроса горячей комбинацией клавиш, но это очень утомительно помнить какую комбинацию кому назначена, поэтому лучше всего будет создание кнопки для запуска макроса. Кнопки создать, возможно, нескольких типов, а именно:
- Кнопка в панели инструментов в MS Excel 2003 и более старше. Вам нужно в меню «Сервис» в пункте «Настройки» перейти на доступную вкладку «Команды» и в окне «Категории» выбрать команду «Настраиваемая кнопка» обозначена жёлтым колобком или смайликом, кому как понятней или удобней. Вытащите эту кнопку на свою панель задач и, нажав правую кнопку мыши по кнопке, вызовите ее контекстное меню, в котором вы сможете отредактировать под свои задачи кнопку, указав для нее новую иконку, имя и назначив нужный макрос.
- Кнопка в панели вашего быстрого доступа в MS Excel 2007 и более новее. Вам нужно клацнуть правой кнопкой мышки на панели быстрого доступа, которое находится в верхнем левом углу окна MS Excel и в открывшемся контекстном меню выбираете пункт «Настройка панели быстрого доступа». В диалоговом окне настройки вы выбираете категорию «Макросы» и с помощью кнопки «Добавить» вы переносите выбранный со списка макрос в другую половинку окна для дальнейшего закрепления этой команды на вашей панели быстрого доступа.
Создание графической кнопки на листе Excel
Данный способ доступен для любой из версий MS Excel и заключается он в том, что мы вынесем кнопку прямо на наш рабочий лист как графический объект. Для этого вам нужно:
- В MS Excel 2003 и более старше переходите в меню «Вид», выбираете «Панель инструментов» и нажимаете кнопку «Формы».
- В MS Excel 2007 и более новее вам нужно на вкладке «Разработчик» открыть выпадающее меню «Вставить» и выбрать объект «Кнопка».
После всего этого вы должны нарисовать кнопку на вашем листе при зажатой левой кнопке мыши. После окончания процесса рисования включится автоматически окошко, где вам нужно будет выбрать тот макрос, который обязан, выполнятся при нажатии на вашей кнопке.
Чтобы записать макрос, следует:
- Войти во вкладку «разработчик».
- Выбрать запись макроса.
- Выбрать имя макроса (в имени нельзя использовать пробелы и дефисы);
- Можно выбрать сочетание клавиш, при нажатии которых будет начинаться запись макроса;
- Выбрать место сохранения:
— при сохранении в «Эта книга» макрос будет работать только в текущем документе;
— при сохранении в «Личная книга» макрос будет работать во всех документах на Вашем компьютере.
- Можно добавить описание макроса, оно поможет Вам вспомнить, какие действия совершает макрос.
- Нажать «Ок».
- Если вы не указали сочетание клавиш, запись начнется сразу после нажатия кнопки «Ок».
- Когда идет запись, Вы должны совершать требуемую последовательность действий.
- Когда закончите, нажимайте кнопку остановить запись.
Записанные макросы отображаются в книге макросов.
Чтобы их посмотреть следует нажать кнопку «макросы». В появившемся окне появится список макросов. Выберете нужный макрос и нажмите «Выполнить».
Макросы, находящиеся в книге можно редактировать. Для этого нужно выбрать макрос и нажать кнопку «Изменить». При нажатии на кнопку «Изменить» откроется редактор макросов с записанным на языке VBA скриптом.
Отображение вкладки “Разработчик” в ленте меню
Перед тем как записывать макрос, нужно добавить на ленту меню Excel вкладку “Разработчик”. Для этого выполните следующие шаги:
- Щелкните правой кнопкой мыши по любой из существующих вкладок на ленте и нажмите «Настроить ленту». Он откроет диалоговое окно «Параметры Excel».
- В диалоговом окне «Параметры Excel» у вас будут параметры «Настроить ленту». Справа на панели «Основные вкладки» установите флажок «Разработчик».
- Нажмите «ОК».
В результате на ленте меню появится вкладка “Разработчик”
Абсолютная и относительная запись макроса
Вы уже знаете про абсолютные и относительные ссылки в Excel? Если вы используете абсолютную ссылку для записи макроса, код VBA всегда будет ссылаться на те же ячейки, которые вы использовали. Например, если вы выберете ячейку A2 и введете текст “Excel”, то каждый раз – независимо от того, где вы находитесь на листе и независимо от того, какая ячейка выбрана, ваш код будет вводить текст “Excel” в ячейку A2.
Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет “двигаться” относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст “Excel” и затем перейдет к ячейке K5.
Теперь давайте запишем макрос в режиме относительных ссылок:
- Выберите ячейку A1.
- Перейдите на вкладку “Разработчик”.
- В группе “Код” нажмите кнопку “Относительные ссылки”. Он будет подсвечиваться, указывая, что он включен.
- Нажмите кнопку “Запись макроса”.
- В диалоговом окне “Запись макроса” введите имя для своего макроса. Например, имя “ОтносительныеСсылки”.
- В опции “Сохранить в” выберите “Эта книга”.
- Нажмите “ОК”.
- Выберите ячейку A2.
- Введите текст “Excel” (или другой как вам нравится).
- Нажмите клавишу Enter. Курсор переместиться в ячейку A3.
- Нажмите кнопку “Остановить запись” на вкладке “Разработчик”.
Макрос в режиме относительных ссылок будет сохранен.
Теперь сделайте следующее.
- Выберите любую ячейку (кроме A1).
- Перейдите на вкладку “Разработчик”.
- В группе “Код” нажмите кнопку “Макросы”.
- В диалоговом окне “Макрос” кликните на сохраненный макрос “ОтносительныеСсылки”.
- Нажмите кнопку “Выполнить”.
Как вы заметите, макрос записал текст “Excel” не в ячейки A2. Это произошло, потому что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, если вы сделаете это, когда выбрана ячейка B3, она войдет в текст Excel – ячейка B4 и в конечном итоге выберет ячейку B5.
Вот код, который записал макрорекодер:
Sub ОтносительныеСсылки() ' ' ОтносительныеСсылки Макрос ' ' ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "Excel" ActiveCell.Offset(1, 0).Range("A1").Select End Sub
Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.
Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.
Расширение файлов Excel, которые содержат макросы
Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).
До Excel 2007 был достаточен один формат файла – .xls. Но с 2007 года .xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:
Если вы выберете “Нет”, Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете “Да”, Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате .xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате .xlsm, чтобы сохранить этот макрос.
Что нельзя сделать с помощью макрорекодера?
Макро-рекордер отлично подходит для вас в Excel и записывает ваши точные шаги, но может вам не подойти, когда вам нужно сделать что-то большее.
- Вы не можете выполнить код без выбора объекта. Например, если вы хотите, чтобы макрос перешел на следующий рабочий лист и выделил все заполненные ячейки в столбце A, не выходя из текущей рабочей таблицы, макрорекодер не сможет этого сделать. В таких случаях вам нужно вручную редактировать код.
- Вы не можете создать пользовательскую функцию с помощью макрорекордера. С помощью VBA вы можете создавать пользовательские функции, которые можно использовать на рабочем листе в качестве обычных функций.
- Вы не можете создавать циклы с помощью макрорекордера. Но можете записать одно действие, а цикл добавить вручную в редакторе кода.
- Вы не можете анализировать условия: вы можете проверить условия в коде с помощью макрорекордера. Если вы пишете код VBA вручную, вы можете использовать операторы IF Then Else для анализа условия и запуска кода, если true (или другой код, если false).
Редактор Visual Basic
В Excel есть встроенный редактор Visual Basic, который хранит код макроса и взаимодействует с книгой Excel. Редактор Visual Basic выделяет ошибки в синтаксисе языка программирования и предоставляет инструменты отладки для отслеживания работы и обнаружения ошибок в коде, помогая таким образом разработчику при написании кода.
Запускаем выполнение макроса
Чтобы проверить работу записанного макроса, нужно сделать следующее:
- В той же вкладке (“Разработчик”) и группе “Код” нажимаем кнопку “Макросы” (также можно воспользоваться горячими клавишами Alt+F8).
- В отобразившемся окошке выбираем наш макрос и жмем по команде “Выполнить”.
Примечание: Есть более простой вариант запустить выполнение макроса – воспользоваться сочетанием клавиш, которое мы задали при создании макроса.
- Результатом проверки будет повторение ранее выполненных (записанных) действий.
Корректируем макрос
Созданный макрос можно изменить. Самая распространенная причина, которая приводит к такой необходимости – сделанные при записи ошибки. Вот как можно отредактировать макрос:
- Нажимаем кнопку “Макросы” (или комбинацию Ctrl+F8).
- В появившемся окошке выбираем наш макрос и щелкаем “Изменить”.
- На экране отобразится окно редактора “Microsoft Visual Basic”, в котором мы можем внести правки. Структура каждого макроса следующая:
- открывается с команды “Sub”, закрывается – “End Sub”;
- после “Sub” отображается имя макроса;
- далее указано описание (если оно есть) и назначенная комбинация клавиш;
- команда “Range(“…”).Select” возвращает номер ячейки. К примеру, “Range(“B2″).Select” отбирает ячейку B2.
- В строке “ActiveCell.FormulaR1C1” указывается значение ячейки или действие в формуле.
- Давайте попробуем скорректировать макрос, а именно, добавить в него ячейку B4 со значением 3. В код макроса нужно добавить следующие строки:
Range("B4").Select
ActiveCell.FormulaR1C1 = "3" - Для результирующей ячейки D2, соответственно, тоже нужно изменить начальное выражение на следующее:
ActiveCell.FormulaR1C1 = "=RC[-2]*R[1]C[-2]*R[2]C[-2]"
.Примечание: Обратите внимание, что адреса ячеек в данной строке (ActiveCell.FormulaR1C1) пишутся в стиле R1C1.
- Когда все готово, редактор можно закрывать (просто щелкаем на крестик в правом верхнем углу окна).
- Запускаем выполнение измененного макроса, после чего можем заметить, что в таблице появилась новая заполненная ячейка (B4 со значением “3”), а также, пересчитан результат с учетом измененной формулы.
- Если мы имеем дело с большим макросом, на выполнение которого может потребоваться немало времени, ручное редактирование изменений поможет быстрее справиться с задачей.
- Добавив в конце команду
Application.ScreenUpdating = False
мы можем ускорить работу, так как во время выполнения макроса, изменения на экране отображаться не будут. - Если потребуется снова вернуть отображение на экране, пишем команду:
Application.ScreenUpdating = True
.
- Добавив в конце команду
- Чтобы не нагружать программу пересчетом после каждого внесенного изменения, в самом начале пишем команду
Application.Calculation = xlCalculationManual
, а в конце –Application.Calculation = xlCalculationAutomatic
. Теперь вычисление будет выполняться только один раз.
Источники
- https://lumpics.ru/how-to-create-a-macro-in-excel/
- https://MicroExcel.ru/sozdanie-makrosov/
- http://topexcel.ru/kak-sozdat-makros-v-excel/
- https://exceltable.com/vba-macros/kak-napisat-makros
- https://office-guru.ru/excel/samouchitel-po-rabote-s-makrosami-v-excel-449.html
- http://RuExcel.ru/simple-macros/
- https://micro-solution.ru/excel/vba/first-macros