→ Как включить макросы в Excel. Макросы в Excel: примеры. Как автоматизировать рутинные задачи в Excel с помощью макросов Что такое макросы в эксель

Как включить макросы в Excel. Макросы в Excel: примеры. Как автоматизировать рутинные задачи в Excel с помощью макросов Что такое макросы в эксель


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

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

Что собой представляют макросы, и для чего они создаются?

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

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

Помимо утилиты, которая предназначена для создания таблиц, многие люди сталкиваются с понятием макроса в Worde, набирая обычный текст. А всё из-за того, что макрос имеет большое число преимуществ.

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

Создание собственных макросов в различных версиях Excel.

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

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

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

Чтобы создать макрос, необходимо во вкладке «Окно разработчика» выбрать соответствующую кнопку, и нажать на неё.

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

После этого нажимаем на клавишу OK, и останавливаем полученную запись на панели управления.

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

Как включить работу с макросами?

Сначала переходим на вкладку разработчика, и там выбираем меню «Макросы», сразу нажимаем на неё.

Выбираем необходимый макрос и нажимаем на такую кнопку, как «Выполнить».

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

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

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

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

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

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

Удалить макрос не составляет никаких ситуаций. Откроется меню разработчика, и выберете там вкладку «Макросы». Дальше выбираем объект, который должен подвергнуться удалению, и просто начинаем незамедлительно сам процесс.

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

Создание макросов и их применение в Excel Разбираемые вопросы: Понятие макроса. Назначение макроса графическим изображениям. Понятие макроса Прежде чем приступить к написанию программ на VB воспользуемся простой возможностью создания программы макроса на языке VB с использованием McroRecorder. Кроме этого созданный код макроса может служить основой для дальнейших разработок.


Поделитесь работой в социальных сетях

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


Лекция №2. Создание макросов и их применение в Excel

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

  1. Понятие макроса.
  2. Запись простых макросов.
  3. Выполнение макросов.
  4. Редактирование макросов.
  5. Назначение макроса графическим изображениям.
  6. Удаление макросов.
  7. Ограниченность макросов.

Понятие макроса

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

MacroRecorder – это стандартное средство записи макросов в Excel , посредством которого можно записывать последовательность действий пользователя и получать соответствующий код (программу) на VBA . Программа, созданная с помощью MacroRecorder , называется макросом.

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

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

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

Макрос – это именованная последовательность заданных пользователем команд и действий, хранящаяся в форме программы на языке VBA .

Запись макросов в приложении Excel

Для работы с макросами в приложении Excel имеется специальная панель.

Для вызова этой панели необходимо выполнить последовательно команды меню: Вид → Панели инструментов → Visual Basic .

Для записи макроса необходимо:

  1. Нажать на кнопку «Запись макроса» на панели Visual Basic .
  2. В диалоговом окне «Запись макроса» присвоить имя макросу. (В имени макроса первым символом должна быть буква, не допускается использование пробелов).
  3. Выполнить действия, которые нужно записать.
  4. Нажать кнопку «Остановить запись».

Пример

Рассмотрим процедуру записи последовательности действий на следующем примере: определим максимальное значение в выделенном диапазоне ячеек.

Имеется таблица с информацией о самых ценных алмазах в мире.

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

Это действие в Excel можно выполнить с помощью стандартной функции МАКС, но мы продемонстрируем на этом примере, как сохранить последовательность действий пользователя и на их основе создать макрос.

Выполним следующие действия:

  1. Откроем новую книгу.
  2. Создадим таблицу по приведенному образцу.
  3. В ячейке D 9 наберем «Максимальная масса в граммах».
  4. На панели Visual Basic нажмем кнопку «Запись макроса». Появится диалоговое окно «Запись макроса»:

  1. Введем вместо названия «Макрос1» название макроса «Алмаз» и нажмем «ОК». На экране появится панель инструментов « Остановить запись ».

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

  1. Установим курсор в ячейку E 10. В этой ячейке должен появиться результат.
  2. Выполним команду Вставка → Функция . Появится диалоговое окно « Мастер функций ».
  3. Выберем в окне « Категории функций » « Статистические », где выберем функцию МАКС. Появится диалоговое окно, в первой строке которого необходимо указать диапазон, в котором мы будем искать максимальное значение, а – E 2: E 9. нажмем «ОК».

Выполнение макросов

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

Чтобы проверить, как работает созданный нами макрос, прежде всего надо удалить из ячейки E 10 полученный результат. Затем:

  1. Установим курсор в любую ячейку листа.
  2. Выполним команду Сервис → Макрос → Макросы . Появится диалоговое окно « Макрос ».
  3. Выполнить ». В ячейке E 10 появится результат.

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

Во время записи макроса Excel запоминает наши действия и преобразует их в код VBA . Можно просмотреть полученный код и отредактировать его, если в этом есть необходимость. Для просмотра созданного макроса выполните команду Сервис → Макрос → Макросы . Появится уже знакомое диалоговое окно « Макрос ».

Выделим макрос «Алмаз» и щелкнем по кнопке « Изменить ». Откроется окно редактора:

При записи макроса выполнялись всего два действия. Сначала мы установили курсор в ячейку E 10. на языке VBA этому действию соответствует строка:

Range (“ E 10”). Select

Затем мы вызвали функцию МАКС и в качестве аргумента указали диапазон ячеек E 2: E 9:

Полученный код можно редактировать непосредственно в редакторе Visual Basic . Изменим размер шрифта в ячейке E 10 на 16:

Range (“ E 10”). Font . Size = 16

Можно также изменить цвет шрифта. Например, изменим цвет текста в ячейке на красный:

Range (E 10”). Font . ColorIndex = 3

Значения, которые может принять свойство Font . ColorIndex , изменяется от 1 до 56.

После внесенных изменений текст макроса стал следующим:

Sub Алмаз ()

‘ Алмаз Макрос

Range(“E10”).Select

ActiveCell.FormulaR1C1 = “=MAX(R[-8]C:R[-1]C)”

Range(“E10”).Font.Size = 16

Range(“E10”).Font.ColorIndex = 3

End Sub

Закройте окно редактора, вернитесь на лист Excel , удалите содержимое ячейки E 10 и запустите макрос на выполнение.

Назначение макроса графическим изображениям

Разрабатывая приложение, надо думать о том, чтобы создать легкий и удобный интерфейс для выполнения задач автоматизации. Запуск макросов на выполнение посредством команд меню или кнопок на панели Visual Basic – не слишком удобный механизм для пользователей.

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

Используя панель « Рисование », нарисуем на листе любую автофигуру. Щелкнем правой кнопкой мыши на изображении и в открывшемся контекстном меню выберем команду « Назначить макрос ». Отобразится диалоговое окно « Назначить макрос объекту ». Затем необходимо выбрать макрос «Алмаз» и щелкнуть вне графического изображения, чтобы снять выделение с объекта.

Теперь макрос «Алмаз» можно запустить посредством щелчка на автофигуре.

Запустить макрос на выполнение можно и другим способом, используя командную кнопку. Вставить командную кнопку непосредственно на рабочий лист Excel можно с помощью панели инструментов « Формы » (Вид → Панели инструментов → Формы ). Затем необходимо назначить ей наш макрос.

Удаление макросов из списка макросов

Для того чтобы удалить макрос, надо:

  1. Выполнить команду Сервис → Макрос → Макросы . Появится уже знакомое диалоговое окно.
  2. Выделить макрос, подлежащий удалению, и щелкнуть по кнопке « Удалить ».
  3. Подтвердить выполнение операции в специальном окне, которое появится.

Ограниченность макросов

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

Эти ограничения приводят к необходимости создания программ на VBA .

PAGE 4

Выполнение макроса

Запись

макроса

Вызов редактора VBA

Вызов панели элементов управления

Вызов конструктора форм

Вызов редактора сценариев

нопка

Панель «Формы»

Другие похожие работы, которые могут вас заинтересовать.вшм>

6386. Практическое применение функций MS Excel 219.04 KB
Microsoft Excel программа предназначена для организации данных в таблице для документирования и графического представления информации. Рабочие книги MS Excel предоставляют возможность хранения и организации данных вычисления суммы значений в ячейках...
12001. Создание производства и применение новых кислотных комплексообразующих реагентов для увеличения нефтеотдачи карбонатных и глинистых нефтяных коллекторов 18.13 KB
При этом следует учитывать что 1 часть реагента АФК эквивалентна по эффективности 10 частям состава на основе соляной кислоты что резко снижает транспортные расходы на доставку продукции на нефтепромыслы. К настоящему моменту уже произведено более 40 тонн реагента. В 2012 году проводились испытания реагента при закачке в добывающие скважины ОАО Татнефть обработано 17 скважин. Также проводятся экспериментальные работы по закачке реагента по двум технологиям в нагнетательные скважины ЗАО Предприятие Кара Алтын 2 скважины.
7988. Создание аналитической геометрии Р.Декартом. Геометрии Лобачевского, Римана и их применение 30.59 KB
Тема: Создание аналитической геометрии Р. Геометрии Лобачевского Римана и их применение. Создание аналитической геометрии Рене Декартом. Геометрии Лобачевского Римана и их применение: а геометрия Лобачевского; б создание неевклидовой геометрии; в утверждение геометрии Лобачевского; г геометрия Римана.
3861. ПОДГОТОВКА ТЕСТА В MS EXCEL 256.43 KB
ПОДГОТОВКА ТЕСТА В MS EXCEL, На Листе1 наберем вопросы а на Листе2 разместим варианты ответов список ответов должен быть вертикальным первый ответ – пустой для того чтобы после ответа первого учащегося тест можно было вернуть в первоначальное положение т. Заполним поля: Нажмем ОК и в ячейку D1 вставится следующая функция: Смысл функции в следующем: Если ответ в тестируемой ячейке C1 совпадает с верным то в ячейку D1 поместить 1 балл иначе 0 в данном случае верным будет ответ – заметно ухудшилось он имеет порядковый номер 2 потому что ответ №1 пустой. 1...
4776. ЗВЕДЕНІ ТАБЛИЦІ В EXCEL 39.01 KB
Зведені таблиці є одним з найбільш могутніх засобів MS Excel з аналізубаз даних розміщених у таблицях чи списках. Зведені таблиці зручні при аналізі даних з кількохпричин: Дозволяють створювати узагальнюючі таблиці що надають можливість групування однотипних даних підведення підсумків підведення статистичних характеристик записів...
4777. ВІКНО ПРОГРАМИ EXCEL 146.22 KB
Операції з листами Основні операції що виконуються з робочими листами зібрані в контекстному меню яке відкривається після клацання правою кнопкою миші вкладки аркуша. Воно містить команди: Додати Insert Видалити Delete Перейменувати Renme Переместіть ськопіровать Move or Copy Виділити всі листи Select ll Sheets і так далі Наприклад аби задати типа аркуша що вставляється: Аркуш Worksheet Діаграма Chrt Макрос MS Excel. Вибір типа аркуша що вставляється.
1577. Використання списків у програмі EXCEL 1.93 MB
Визначивши діапазон як список можна керувати даними в цьому списку та аналізувати їх незалежно від інших даних поза межами списку. Наприклад використовуючи лише дані у списку можна фільтрувати стовпці додавати рядок підсумків і навіть створювати звіти зведених таблиць. Визначивши діапазон як список можна керувати даними в цьому списку та аналізувати їх незалежно від інших даних поза межами списку.
7166. Назначение электронных таблиц. Знакомство с MS Excel 76.37 KB
В нижней части окна книги размещаются ярлычки листов и кнопки их прокрутки а в верхней части строка заголовка. Кроме того окно содержит листы и полосы прокрутки. Две средние кнопки служат для прокрутки на один ярлычок влево или вправо. Перечисленные кнопки прокрутки и маркер разделения ярлычков не активизируют листы книги.
7387. Статистичний аналіз даних засобами програми Excel 411.31 KB
Статистичний аналіз даних засобами програми Excel Автор: к. Засоби статистичного аналізу даних у програмі Excel. Використання статистичних функцій для інтерполяції та екстраполяції даних та інше Засоби статистичного аналізу даних у програмі Excel До складу Microsoft Excel входить набір засобів аналізу даних так званий пакет аналізу призначений...
20180. Параметры и объекты диаграмм в Microsoft Office Excel 1.01 MB
Диаграммы позволяют: отобразить данные более наглядно облегчить их восприятие помочь при анализе и сравнении наблюдать за изменениями значений. А для анализа удобно использовать диаграммы с их специальными возможностями. Результатом работы табличного процессора является документ в виде таблицы или диаграммы.

Для начала немного о терминологии.

Макрос - это код, написанный на встроенном в Excel языке VBA (Visual Basic for Application). Макросы могут создаваться как вручную, так и записываться автоматически с помощью так называемого макрорекодера.

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

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

Теперь давайте погрузимся и посмотрим, как записать макрос в Excel.

Отображение вкладки "Разработчик" в ленте меню

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

В результате на ленте меню появится вкладка "Разработчик"

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

Теперь давайте запишем очень простой макрос, который выбирает ячейку и вводит в нее текст, например "Excel".

Вот шаги для записи такого макроса:

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

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


Вы увидите, что как только вы нажмете кнопку "Выполнить", текст "Excel" будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос последовательно выполнил записанные действия.

Примечание. Вы также можете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а затем нажмите клавишу N). Это тот же самый ярлык, который мы назначили макросу при его записи.

Что записывает макрос?

Теперь перейдем к редактору кода и посмотрим что у нас получилось.

Вот шаги по открытию редактора VB в Excel:

  1. В группе "Код" нажмите кнопку "Visual Basic".

Вы также можете использовать комбинацию клавиш Alt + F11 и перейти в редактор кода VBA.

  • Панель меню : содержит команды, которые можно использовать во время работы с редактором VB.
  • Панель инструментов - похожа на панель быстрого доступа в Excel. Вы можете добавить к ней дополнительные инструменты, которыми часто пользуетесь.
  • Окно проектов (Project Explorer) - здесь Excel перечисляет все книги и все объекты в каждой книге. Например, если у нас есть книга с 3 рабочими листами, она появится в Project Explorer. Здесь есть несколько дополнительных объектов, таких как модули, пользовательские формы и модули классов.
  • Окно кода - собственно сам код VBA размещается в этом окне. Для каждого объекта, указанного в проводнике проекта, есть окно кода, например, рабочие листы, книги, модули и т. д. В этом уроке мы увидим, что записанный макрос находится в окне кода модуля.
  • Окно свойств - вы можете увидеть свойства каждого объекта в этом окне. Я часто использую это окно для обозначения объектов или изменения их свойств.
  • Immediate Window (окно предпросмотра) - На начальном этапе оно вам не пригодится. Оно полезно, когда вы хотите протестировать шаги или во время отладки. Он по умолчанию не отображается, и вы можете его отобразить, щелкнув вкладку «View» и выбрав опцию «Immediate Window».

Когда мы записали макрос "ВводТекста", в редакторе VB произошли следующие вещи:

  • Был добавлен новый модуль.
  • Макрос был записан с именем, которое мы указали - "ВводТекста"
  • В окне кода добавлена новая процедура.

Поэтому, если вы дважды щелкните по модулю (в нашем случае модуль 1), появится окно кода, как показано ниже.

Вот код, который записан макрорекодером:

Sub ВводТекста() " " ВводТекста Макрос " " Range("A2").Select ActiveCell.FormulaR1C1 = "Excel" Range("A3").Select End Sub

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

Теперь давайте пробежим по каждой строке кода и опишем что и зачем.

Код начинается с Sub , за которым следует имя макроса и пустые круглые скобки. Sub - сокращение для подпрограммы. Каждая подпрограмма (также называемая процедурой) в VBA начинается с Sub и заканчивается End Sub .

  • Range("A2").Select - эта строка выбирает ячейку A2.
  • ActiveCell.FormulaR1C1 = «Excel» - эта строка вводит текст "Excel" в активной ячейке. Поскольку мы выбрали ячейку A2 в качестве первого шага, она становится нашей активной ячейкой.
  • Range("A3").Select - выбор ячейки A3. Это происходит, когда мы нажимаем клавишу Enter после ввода текста, результатом которого является выбор ячейки A3.

Надеюсь, что у вас есть некоторое базовое понимание того, как записывать макрос в Excel.

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

Абсолютная и относительная запись макроса

Вы уже знаете про абсолютные и относительные ссылки в Excel? Если вы используете абсолютную ссылку для записи макроса, код VBA всегда будет ссылаться на те же ячейки, которые вы использовали. Например, если вы выберете ячейку A2 и введете текст "Excel", то каждый раз - независимо от того, где вы находитесь на листе и независимо от того, какая ячейка выбрана, ваш код будет вводить текст "Excel" в ячейку A2.

Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет "двигаться" относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст "Excel" и затем перейдет к ячейке K5.

Теперь давайте запишем макрос в режиме относительных ссылок:

Макрос в режиме относительных ссылок будет сохранен.

Теперь сделайте следующее.

  1. Выберите любую ячейку (кроме A1).
  2. Перейдите на вкладку "Разработчик".
  3. В группе "Код" нажмите кнопку "Макросы".
  4. В диалоговом окне "Макрос" кликните на сохраненный макрос "ОтносительныеСсылки".
  5. Нажмите кнопку "Выполнить".

Как вы заметите, макрос записал текст "Excel" не в ячейки A2. Это произошло, потому что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, если вы сделаете это, когда выбрана ячейка B3, она войдет в текст Excel - ячейка B4 и в конечном итоге выберет ячейку B5.

Вот код, который записал макрорекодер:

Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.

Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.

Что нельзя сделать с помощью макрорекодера?

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

  • Вы не можете выполнить код без выбора объекта. Например, если вы хотите, чтобы макрос перешел на следующий рабочий лист и выделил все заполненные ячейки в столбце A, не выходя из текущей рабочей таблицы, макрорекодер не сможет этого сделать. В таких случаях вам нужно вручную редактировать код.
  • Вы не можете создать пользовательскую функцию с помощью макрорекордера. С помощью VBA вы можете создавать пользовательские функции, которые можно использовать на рабочем листе в качестве обычных функций.
  • Вы не можете создавать циклы с помощью макрорекордера. Но можете записать одно действие, а цикл добавить вручную в редакторе кода.
  • Вы не можете анализировать условия: вы можете проверить условия в коде с помощью макрорекордера. Если вы пишете код VBA вручную, вы можете использовать операторы IF Then Else для анализа условия и запуска кода, если true (или другой код, если false).

Расширение файлов Excel, которые содержат макросы

Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).

До Excel 2007 был достаточен один формат файла - .xls. Но с 2007 года.xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как.xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением.xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:

Если вы выберете "Нет", Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете "Да", Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате.xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате.xlsm, чтобы сохранить этот макрос.

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

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

Создание макроса

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

  1. Активизируйте пустую ячейку.
  2. Нажмите кнопку Запись макроса в левой части строки состояния. Появится окно Запись макроса .
  3. Введите новое имя для макроса, состоящее из одного слова, чтобы заменить имя по умолчанию Макрос1 . Укажем МоеИмя .
  4. Назначьте макросу сочетание клавиш Ctrl+Shift+N , введя букву N в верхнем регистре в поле для редактирования, помеченное как Сочетание клавиш .
  5. Нажмите ОК , чтобы закрыть диалоговое окно Запись макроса и начать запись ваших действий.
  6. Введите свое имя в выбранную ячейку и нажмите клавишу Enter .
  7. Макрос завершен, поэтому нажмите кнопку Остановить запись в строке состояния.

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

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

Макрос был записан в новый модуль VBA под названием Module1 . Если вам интересно, можете посмотреть на инструкции, которые были записаны. Для просмотра кода этого модуля вы должны открыть Visual Basic Editor (VBE). Нажмите Alt+F11 для переключения между окнами VBE и Excel.

В VBE окно Project отображает список всех открытых книг и надстройки. Этот список показан в виде древовидной диаграммы, которую можно сворачивать и разворачивать. Код, который вы записали ранее, хранится в Module1 текущей книги. Если вы дважды щелкнете на Modulel, то код модуля появится в окне Code (рис. 204.1).

Обратите внимание, что Excel вставил комментарии в верхней части процедуры. Это некоторая информация, которая появилась в окне Запись макроса . Строки с комментариями (которые начинаются с апострофа) необязательны, а их удаление не влияет на работу макроса.

Тестирование макроса

Перед тем как записать этот макрос, вы назначили ему сочетание клавиш Ctrl+Shift+N . Чтобы протестировать макрос, вернитесь в Excel, нажав Alt+F11 . Когда Excel активен, активизируйте лист (он может быть в книге, содержащей модуль VBA, или в любой другой книге). Выберите ячейку или диапазон ячеек и нажмите Ctrl+Shift+N . Макрос немедленно введет ваше имя в ячейку.

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

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

Что представляют собой Excel-макросы?

Макросы используются не только в таблицах, но и во всем Microsoft Office. Они представляют собой созданный при помощи Visual Basic for Applications код. Если вы частично знакомы с web-программированием, то можно провести аналогию с Javascript. Excel-макросы делают примерно то же самое, что и Javascript с данными формата HTML.

Небольшая часть того, что может сделать макрос в офисных приложениях:

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

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

Чем могут быть опасны макросы в Excel?

Повредить файлы на ПК;
. похитить конфиденциальные данные.

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

Еще один способ работы вредоносного макроса - посредничество для внедрения угроз в систему. В этом случае он является своеобразными воротами для внедрения и генерирования троянского ПО. Им уже будет управлять не видоизменённый макрос, а сама операционная система, а следовательно, угроза становится более масштабной. Не всегда получается вылечить такие вирусы, иногда приходится полностью менять Windows OC или жесткий диск ПК (в зависимости от задач, которые ставил хакер при написании кода).

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

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

Как записать макросы в Excel

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

Создание начинается с меню «Вид». В нем нужно выбрать позицию «Макросы» и команду «Записать Макрос». Далее нужно задать имя без пробелов, например, «Format» (если код будет отвечать за изменение формата текста или ячеек).

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

Как включить макросы в Excel

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

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

Как увидеть программный код макроса?

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

Для этого нужно последовательно выполнить команды:

Развернуть вкладку «Вид»;
. открыть «Макросы»;
. выбрать имя необходимого макроса;
. вызывать окно с его кодом при помощи кнопки «Изменить».

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

Как начать работу макроса по клику на ячейку

Допустим, вы хотите, чтобы при выделении ячейки А1 запускалась работа макроса. Чтобы выбранная в Excel ячейка макрос запускала, необходимо в первый модуль добавить программный код:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then: Call module1
End Sub

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

Где можно научиться работать с макросами

Есть несколько способов научиться созданию более сложных макросов. Они должны отличаться логикой и четко настроенной последовательностью действий. Создаются такие макросы только путем написания кода VBA вручную. Для создания сложных макросов вам потребуется затратить некоторое время на изучения тонкостей языка программирования Visual Basik.

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

Примеры

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

Sub Макрос1()

 

 

Это интересно: