Макрос что это такое простыми словами
Что такое макрос?
Личная книга макросов Excel является скрытой книгой (файл называется Personal.xls), которая открывается автоматически при запуске Excel. Это очень удобно, поскольку каждый макрос, сохраненный в этой книге, будет доступен для всех открытых рабочих книг. Если вы хотите использовать эту книгу, то ее сначала нужно будет отобразить. Для этого выполните команду Окно=>Отобразить и убедитесь, что в диалоговом окне «Отобразить» выделена строчка PERSONAL.XLS. Затем щелкните по кнопке ОК.
Когда вы начнете запись макроса, приложение создает «проект VBA». Это контейнер, который содержит документ, используемый для записи макроса, и специальный объект, который называется модуль и содержит операторы макросы.
Чтобы просмотреть записанный макрос, выполните следующие действия.
Обычно макрос содержит следующие элементы.
Имя макроса. После ключевого слова Sub Excel добавляет имя макроса, за которым следует открывающаяся и закрывающаяся скобки.
Комментарии. Первые несколько строк кода начинаются с апострофа «‘», которые говорят редактору VBA, что эти строки являются комментариями. Комментарии отображаются только в окне редактора, при выполнении макроса они не обрабатываются. В каждом записанном макросе в комментариях указывается имя макроса, а также описание, которые вы ввели в диалоговом окне «Запись макроса» (В Excel также указывается комбинация клавиш, если она была задана).
Макрооператоры. Основное тело макроса (другими словами, строки между ключевыми словами Sub и End Sub, исключая комментарии в начале макроса) состоит из последовательности операторов. Они являются интерпретацией действий, которые вы выполнили во время записи макроса.
Строки макроса в модуле VBA являются обычным текстом, который можно изменять также, как это делается в любом текстовом редакторе. Если макрос содержит операторы, которые необходимо удалить, можно просто удалить лишние строки из модуля.
Часто нужно добавить новые действия в записанный макрос. К сожалению, VBA не предоставляет никаких возможностей записи новых операторов в существующий макрос. Вместо этого, нужно сначала записать новый макрос, содержащий необходимые команды, и отобразить его код на экране. Затем можно использовать стандартные средства Windows копирования и вставки (можно просто перетащить текст из одного окна в другое), чтобы перенести необходимые операторы из нового макроса с исходный.
Что такое макросы в Word и Excel, как ими пользоваться
В статье рассмотрим вопрос, что такое макросы в Word и в программе Excel. На практике будет показано, как использовать макросы. С помощью макросов вы сможете упростить работу с документами Майкрософт Офис Ворд.
Что такое макрос простыми словами
Здравствуйте, друзья! Начинающие пользователи программы Майкрософт Офис Ворд и других программ, задаются вопросом, что такое макрос? Ведь об этом названии впервые услышали, и хотелось бы рассмотреть его подробно.
Итак, макрос – это программа на основе программного кода, которая встроена в Ворде, Excel, Пауер Поинт. Она написана на языке перечисленных программ и имеет набор команд. С помощью макроса можно записать какое-либо действие в документе и автоматически его воспроизвести в другом файле.
Если вы часто работаете с объемными документами, заполняете таблицы, то макросы здесь просто необходимы. Иногда мы пишем в документах одну и ту же нумерацию, проставляем различные списки. Если работать с макросами – этого труда можно избежать. Зато вы сэкономите свое время.
Далее рассмотрим работу с макросами в Ворде и в программе Excel.
Что такое макросы в Word, как настроить и найти макрос
Что такое макросы в Word? Как говорилось ранее, это инструмент для записи действий (их программирование). Чтобы пользоваться макросом, необходимо его настроить и найти на панели управления в Ворде.
Для настройки макросов в Ворде откройте программу Word 2007 на компьютере или другую версию. Далее нажмите вверху слева на логотип программы и кликните по кнопке Параметры Word (скрин 1).
В основных настройках установите маркер перед словом «Показывать вкладку Разработчик на ленте» (скрин 2).
Это позволит вам найти инструмент Макросы. Также они находятся во вкладке «Вид».
Далее нажимаете кнопку «Центр управления безопасностью» и активируете раздел «Включить все макросы», внизу устанавливаете галочку – «Доверять доступ к объектной модели VBA» (скрин 3).
Данные настройки помогут избежать ошибок во время работы с макросами. В других версиях Ворда, макросы настраиваются по схожему принципу.
Что такое макросы в Excel, как настроить
Макросы в программе Excel работают и настраиваются так же, как и в программе Ворд. Вы можете один раз произвести настройку макросов в Ворде и эта настройка перенесется в в Excel или Пауер Поинт.
Далее поработаем с макросами на практике.
Как работать с макросами
Работу с макросами можно разделить на два способа: сторонними программами и автоматическую. Если говорить о первом варианте, то для этого нужно установить специальные программы на компьютер. Если не хотите разбираться с программами, можно воспользоваться встроенной программой в Майкрософт Офис Ворд по работе с макросами. Давайте ее разберем.
Итак, чтобы записать макрос в Ворде или в Excel, следуйте инструкции:
Далее эту инструкцию разберем пошагово.
Как создать запись макроса
Чтобы записать макрос, запустите пустой текстовый документ или с текстом. Далее нажмите по разделу «Разработчик», затем кнопку «Запись макроса» (скрин 4).
В открытом окне пропишите имя макроса, установите кнопку «OK», чтобы началась запись. В процессе записи вы можете написать что-нибудь, например, Привет как дела? Далее нажмите кнопку «Остановить запись» и сохраните документ.
Программа Excel работает с макросами так же, как и Ворд. Нажимаете на вкладку «Разработчик», далее «Запись макроса» (скрин 5).
Затем заполняете таблицу, останавливаете запись макроса и снова сохраняете документ.
Далее разберем, как записанный макрос применять в Ворде и Excel.
Применение макросов в документе Ворд и Excel
Итак, чтобы применить макросы в Ворде, нажмите раздел «Разработчик» в новом документе. Далее кликните «Макросы». Из списка макросов выберите тот, который ранее использовали и нажмите кнопку «Выполнить» (скрин 6).
После этого записанный текст макросом будет вставлен в документ.
Как работает макрос в Excel? Все просто. Также нажимаете кнопку «Разработчик» далее «Макрос». Выбираете макросы и жмете по ним. Затем, надо нажать кнопку «Выполнить», чтобы записанный текст или числа вставились в таблицу.
Заключение
Сегодня был показано на практике, что такое макросы в Word и программе Excel. Аналогично, макросы работают и Power Point. Макрос – это простой инструмент для записи действий в документах. Вы можете один раз записать какой-нибудь текст, чтобы потом его не переписывать заново. Это намного лучше, чем тратить время на лишнюю работу.
Объясните языком, понятным ЧАЙНИЦЕ: что такое МАКРОСЫ.
Конечно, большинство приложений пакета Office содержит в меня Правка команду повторить, с помощью которой можно повторить последнее действие. Это очень удобно, но с помощью этой команды можно повторить только одно действие. Если же нужно повторить несколько действий, то данная команда не подойдет.
Что следует делать в таких случаях?
Можно автоматизировать практически любую рутинную работу и повторяющуюся работу. Можно выполнить эту автоматизированную работу МГНОВЕННО, просто выбрать одну команду, нажав клавишу либо щелкнув на панели инструментов.
Это звучит слишком хорошо, чтобы быть правдой, но, используя VBA, можно сделать нечто, называемое МАКРОСОМ. Он в действительности состоит из списка действий, которые надо запомнить для повторного выполнения. Таким образом, макрос не сильно отличается от кулинарного рецепта, состоящего из набора инструкций, в которых говориться, какие действия необходимо выполнить, чтобы что-нибудь приготовить.
Различие, однако, состоит в том, что макрос объединяет все эти инструкции в одном сценарии, который затем можно вызвать с помощью команды меню, кнопки панели инструментов или комбинации клавиш. С этой точки зрения макрос отличается от, скажем, рецепта приготовления хлеба, но похож на автоматическую хлебопекарню, загрузив ингредиенты в которую, можно испечь хлеб одним нажатием кнопки.
Список инструкций, составляющих макрос, как правило, состоит из макрооператоров. Некоторые операторы выполняют особые действия, связанные с выполнением самого макроса, но большинство операторов соответствует командам меню и опциям диалоговых окон приложения, в котором выполняется макрос.
Например, в любом приложении можно закрыть текущее (активное) окно, выбрав команду Закрыть из меню Файл. В макросе VBA следующий оператор позволяет сделать тоже самое: ActiveWindow.Close (АктивноеОкно. Закрыть)
Названия операторов очень информативны, говорят сами за себя о том, что они делают, и не требуется отдельных пояснений.
VBA представляет собой среду программирования, разработанную специально для создания макросов в других приложениях. Возможно, последняя фраза звучит устрашающе, но наибольшим преимуществом языка программированияVBA является то, что он намного проще, чем большинство других языков программирования. Если вы не хотите ничего самостоятельно программировать, то с помощью VBA можете просто записать макрос и назначить его кнопке, расположенной не посредственно в самом документе окна простым перетаскиванием соответствующих элементов управления в окно документа. Другие средства позволяют настраивать меню и панели инструментов. Поэтому в вашем распоряжении есть все необходимое для создания простого сценария, при этом не нужно вручную писать не строчки кода.
Конечно, если вы хотите воспользоваться средствами VBA, вам нужно будет добавить в записанный макрос несколько строк кода самостоятельно. Язык VBA разработан таким образом, чтобы можно было быстро начать программировать на нем, а затем по мере изучения совершенствовать свои навыки. С помощью языка VBA можно почти сразу (без длительного обучения) начать создавать полезные макросы. Данное свойство выгодно отличает VBA от других языком программирования.
Как записать макрос в Excel? Пошаговая инструкция.
Что такое макрос?
Для начала немного о терминологии.
Записанный макрос можно будет запускать неограниченное количество раз и Excel повторит все записанные шаги. Это означает, что даже если вы ничего не знаете о VBA, вы можете автоматизировать некоторые задачи, просто записав свои шаги и затем повторно использовать их позже.
Теперь давайте погрузимся и посмотрим, как записать макрос в Excel.
Отображение вкладки «Разработчик» в ленте меню
Перед тем как записывать макрос, нужно добавить на ленту меню Excel вкладку «Разработчик». Для этого выполните следующие шаги:
В результате на ленте меню появится вкладка «Разработчик»
Запись макроса в Excel
Теперь давайте запишем очень простой макрос, который выбирает ячейку и вводит в нее текст, например «Excel».
Вот шаги для записи такого макроса:
Поздравляем! Вы только что записали свой первый макрос в Excel. Хотя макрос не делает ничего полезного, но он поможет нам понять как работает макрорекордер в Excel.
Теперь давайте рассмотрим код который записал макрорекодер. Выполните следующие действия, чтобы открыть редактор кода:
Вы увидите, что как только вы нажмете кнопку «Выполнить», текст «Excel» будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос последовательно выполнил записанные действия.
Примечание. Вы также можете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а затем нажмите клавишу N). Это тот же самый ярлык, который мы назначили макросу при его записи.
Что записывает макрос?
Теперь перейдем к редактору кода и посмотрим что у нас получилось.
Вот шаги по открытию редактора VB в Excel:
Вы также можете использовать комбинацию клавиш Alt + F11 и перейти в редактор кода VBA.
Рассмотрим сам редактор кода. Далее коротко опишем интерфейс редактора.
Когда мы записали макрос «ВводТекста», в редакторе VB произошли следующие вещи:
Поэтому, если вы дважды щелкните по модулю (в нашем случае модуль 1), появится окно кода, как показано ниже.
Вот код, который записан макрорекодером:
Теперь давайте пробежим по каждой строке кода и опишем что и зачем.
Надеюсь, что у вас есть некоторое базовое понимание того, как записывать макрос в Excel.
Абсолютная и относительная запись макроса
Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет «двигаться» относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст «Excel» и затем перейдет к ячейке K5.
Теперь давайте запишем макрос в режиме относительных ссылок:
Макрос в режиме относительных ссылок будет сохранен.
Теперь сделайте следующее.
Вот код, который записал макрорекодер:
Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.
Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.
Что нельзя сделать с помощью макрорекодера?
Макро-рекордер отлично подходит для вас в Excel и записывает ваши точные шаги, но может вам не подойти, когда вам нужно сделать что-то большее.
Расширение файлов Excel, которые содержат макросы
Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).
Работа с макросами Excel для чайников
Многие люди боятся использовать макросы в Excel, потому что считают их довольно сложными для понимания. Все потому, что они связаны с программированием. Но на практике все оказывается значительно проще, чем может показаться на первый взгляд. В программировании важно научиться строить алгоритмы. И если человек умеет кодить хотя бы на одном языке, ему значительно проще усвоить все остальные.
Мы приведем некоторые примеры макросов Excel, которые станут верными помощниками в выполнении наиболее частых задач.
Понятие макроса
Термин «Макрос» слышало множество людей. Нередко при запуске таблицы появляется предупреждение: “Этот документ использует макросы, способные навредить данному компьютеру, поэтому они отключены с целью защиты от вредоносных действий”.
Макрос – действенный способ автоматизировать самые частые действия, которые нужно выполнять в электронных таблицах. Макросы – это разновидность программирования. Разработка этих подпрограмм осуществляется с помощью языка VBA. Впрочем, некоторые виды макросов не требуют навыков программирования. Ведь существует еще такое понятие, как макрорекордер. Достаточно его включить и совершить некоторые действия, как далее они будут повторяться по нажатию одной кнопки.
Макросы могут быть реально опасными. Поскольку при их написании используется язык программирования, с его помощью можно создать настоящий вирус, который способен повредить информацию, а также собирать данные для злоумышленников (особенно опасно, если в таблице есть банковские данные, пароли и так далее).
Также макрос может запустить реальную троянскую программу на компьютере. Поэтому, чтобы не допустить вредоносных действий со стороны стороннего макроса, не стоит запускать макросы из сторонних источников, которым не доверяют.
Значительно проще объяснить, зачем нужны макросы, на реальном примере. Например, необходимо каждый день удалять из электронной таблицы несколько столбцов, а потом добавлять новые строки. Это невероятно утомительное занятие, отнимающее много времени. Если же воспользоваться макросами, есть реальная возможность значительно его сэкономить.
Макросы можно запускать по нажатию определенной комбинации клавиш. Например, если нажать Ctrl+J, можно запустить подпрограмму.
Интересный факт: известная программа бухгалтерского учета 1C изначально очень напоминала Excel, но потом ее функционал расширился до текущего.
Если же нужно давать компьютеру сложные инструкции, можно воспользоваться редактором Visual Basic, примеры кода в котором мы и рассмотрим немного позже.
Когда какой тип записи макросов использовать?
Если необходимо автоматизировать простейшие действия, достаточно использовать встроенный инструмент для записи макросов. То есть, если не приходится прописывать никаких условий, переменных и других подобных вещей. Просто обычная последовательность действий.
Если же необходимо программировать сложные действия, то тогда придется пользоваться встроенной средой VBA. Например, если необходимо записать в массив все элементы какого-то диапазона значений, определить его длительность, и при условии, что количество элементов массива не превышает определенного числа, выдавать какое-то сообщение. Здесь стандартного инструмента для записи макросов окажется недостаточно, необходимо изучать язык программирования и записывать команды в специальной среде. А интерпретатор в дальнейшем будет выполнять написанный код.
Пример использования макросов №1
Сперва этот пример кода использовался для демонстрации комментариев кода, написанного на VBA. Но поскольку он включает и иные возможности языка, он может применяться для демонстрации следующих функций:
‘ Подпрограмма для поиска ячеек с адресами A1-A100 текущего активного листа
‘ и поиска ячеек, в которых содержится требуемая строка
Sub Find_String(sFindText As String)
Dim i As Integer ‘ Целочисленная переменная, которая используется в цикле типа «For»
Dim iRowNumber As Integer ‘ Целочисленная переменная, предназначенная для сохранения результата
‘ Цикл через ячейки A1-A100 до тех пор, пока не будет найдена строка ‘sFindText’
If Cells(i, 1).Value = sFindText Then
‘ Совпадение обнаружено для заданной строки
‘ Сохранение текущего номера строки и выход из цикла
‘ Всплывающее сообщение, информирующее пользователя о найденной строке и ее номере
If iRowNumber = 0 Then
MsgBox «String » & sFindText & » not found»
MsgBox «String » & sFindText & » found in cell A» & iRowNumber
Пример 2
Эта процедура перечисляет все значения числовой последовательности Фибоначчи, вплоть до 1000. В этом примере приводятся следующие возможности макросов Excel:
‘ Подпрограмма для перечисления всех значений последовательности Fibonacci для всех значений ниже тысячи
Dim i As Integer ‘ счетчик для позиции в серии значений
Dim iFib As Integer ‘ сохраняет текущее значение в серии
Dim iFib_Next As Integer ‘ сохраняет следующее значение в серии
Dim iStep As Integer ‘ хранит размер следующего шага
‘ Инициализация переменных variables i и iFib_Next
‘ Цикл Do While, который исполняется до тех пор, пока номер
‘ числа в последовательности Фибоначчи меньше 1000.
Do While iFib_Next Следующий пример подпрограммы читает значения с ячейки в колонке A активного листа, пока не найдет пустую ячейку. Вся полученная информация сохраняется в массиве. Это простой пример макросов в электронных таблицах, который показывает:
‘ Подпрограмма, которая хранит значения колонки А текущего листа
Dim iRow As Integer ‘ сохраняется текущий номер строки
Dim dCellValues() As Double ‘ массив, в котором хранятся значения ячеек
ReDim dCellValues(1 To 10)
‘ Цикл Do Until, который извлекает значение каждой ячейки в столбце А
‘ активного листа до тех пор, пока ячейка не окажется пустой
Do Until IsEmpty(Cells(iRow, 1))
‘ Проверка, достаточно ли большой массив dCellValues
‘ Если нет, используется ReDim, чтобы увеличить размер массива на 10 элементов.
If UBound(dCellValues) Следующая процедура «Sub» читает содержимое ячеек из колонки А другого листа, имеющего название «Sheet2» и с этими значениями осуществляет арифметические операции. Результат вычислений пишется в колонке А текущего листа.
Этот пример показывает:
‘ Подпрограмма, запускающая цикл через значения в колонке А текущего листа
‘ «Sheet2», perform arithmetic operations on each value, and write the
‘ result into Column A of the current Active Worksheet («Sheet1»)
Dim dVal As Double
‘ Установить переменную Col в колонку А листа 2
Set Col = Sheets(«Sheet2»).Columns(«A»)
‘ Прохождение цикла через каждую ячейку колонки ‘Col’ до тех пор, пока
‘ не будет обнаружена пустая ячейка
Do Until IsEmpty(Col.Cells(i))
‘ Применение арифметических операций к значению текущей ячейки
dVal = Col.Cells(i).Value * 3 — 1
‘ Команда ниже копирует результат в колонку А
‘ текущего активного листа — без уточнения названия активного листа
Пример 5
Этот пример макроса приводит пример кода VBA, связанного с событием. Каждый раз, когда человек выделяет ячейку или диапазон значений, связанное с макросом событие активируется.
‘ Код для отображения диалогового окна ячейки B1 текущего листа в случае, если она выбрана
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
‘ Проверка, выбрана ли ячейка B1
If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then
‘ При выборе ячейки B1 показать диалоговое окно
MsgBox «You have selected cell B1»
Пример 6
Следующая подпрограмма демонстрирует, как обрабатывать ошибки с помощью операторов OnError и Resume. Также в этом коде описывается, как открывать и читать данные с файла.
‘ Подпрограмма, для для установки определенных значений
‘ в ячейках A1 и B1 документа «Data.xls» на диске C:\
Sub Set_Values(Val1 As Double, Val2 As Double)
Dim DataWorkbook As Workbook
On Error GoTo ErrorHandling
‘ Открытие документа с данными
Set DataWorkbook = Workbooks.Open(«C:\Documents and Settings\Data»)
‘ Выбрать переменные Val1 and Val2 с данных в книге Excel
Val1 = Sheets(«Sheet1»).Cells(1, 1)
Val2 = Sheets(«Sheet1»).Cells(1, 2)
‘ Если файл не найден, предложить пользователю найти правильную директорию
‘ после чего продолжить выполнение подпрограммы
MsgBox «Data Workbook not found;» & _
«Please add the workbook to C:\Documents and Settings and click OK»
После детального ознакомления с этими примерами будет значительно легче применять свои навыки на практике.
Рекомендации по использованию макросов
Есть несколько рекомендаций, позволяющих значительно увеличить эффективность использования макросов в электронных таблицах:
Выводы
Таким образом, макросы – это эффективный инструмент автоматизации рабочих процессов в Excel. Он позволяет автоматизировать даже самые сложные последовательности действий. Если необходимо сделать простую программку, то достаточно воспользоваться встроенной функцией для записи макросов. Для более сложных необходимо освоить язык VBA, который является простым для изучения и очень гибким.
Если используются сторонние макросы, обязательно нужно побеспокоиться о безопасности их использования.