Где макросы в Excel 2016

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

Макрос — это специальная программа, написанная на встроенном в Excel языке программирования VBA ( Visual Basic for Application ). Данный язык разработан компанией Microsoft , специально для приложений MS Office . Как писать макросы — это отдельная большая тема, по которой написаны сотни книг и существует множество сайтов, поэтому мы не будем рассматривать это в данной статье. Давайте, все-таки, разберем куда макросы нужно вставлять, чтобы они работали в Excel’е.

Предположим мы имеем готовый макрос для объединения ячеек с текстом (напомним, что стандартно Excel при сочетании ячеек оставляет только текст крайней левой верхней ячейки). Для этого нужно открыть редактор Visual Basic ( Alt + F11 ), правой кнопкой мыши нажать на Microsoft Excel Objects , выбрать Insert — Module:

Копируем туда код нашего макроса:

Нажимаем сохранить и возвращаемся к Excel . Выделяем необходимые ячейки и выбираем в меню Вид — Макросы (Alt + F8) название нашего макроса:

Жмем Выполнить и получаем необходимый нам результат:

Не так уж и сложно…

  • Александр Лучкив
  • 06.07.2007
  • Категории: Обзоры

Вы работаете в приложениях пакета Microsoft Office и периодически выполняете повторяющиеся задачи? Любая последовательность команд может быть автоматизирована и сведена к выбору пункта меню или нажатию комбинации клавиш. Для этого используются макросы, которые в точности повторяют цепочку ваших действий и тем самым экономят время. Макросы создаются на языке программирования VBA, но совсем не обязательно быть программистом, чтобы написать собственный макрос. Как это делается в приложениях MS Word и Excel, мы и рассмотрим в данной статье.

Концепция макросов

Рис. 1. Главное окно библиотеки

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

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

Технология макросов поддерживается большинством профессиональных программных продуктов, среди которых: AutoCAD, Adobe Photoshop, 3D Studio Max, Microsoft Office и др.

Поддержка макросов в Microsoft Office

MS Office предлагает два способа создания макропрограмм: непосредственно ввод ее текста (процедуры VBA) в редакторе VBA либо применение встроенного средства записи. Первый вариант рассчитан на опытных пользователей, программистов или интеграторов и позволяет создавать полнофункциональные надстройки, функции и модули. Второй, напротив, необычайно прост и предназначен для новичков, не требует знания принципов программирования и синтаксиса команд VBA.

Рис. 2. Создание фотогалереи для Web-сайта

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

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

При записи автоматически генерируется текст макропрограммы – процедура VBA. Желающим научиться самостоятельно создавать более мощные и гибкие макросы непосредственно в редакторе будет очень полезно изучить последовательность сгенерированных команд VBA. Для этого нужно нажать сочетание Alt+F8, выбрать из списка соответствующий макрос и нажать кнопку Изменить.

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

Макросы для Microsoft Word

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

Рассмотрим простой пример. Его оценят многие пользователи, хотя бы раз работавшие с текстами в Word. Часто случайно при наборе или после сканирования и распознавания в тексте появляются лишние пробелы между словами. Даже в малом фрагменте их удаление вручную займет много времени. С помощью диалогового окна поиска и замены это можно выполнить в 6–7 кликов мышью и вводом небольшого текста. Созданный макрос способен заменить все совпадения двух и более стоящих подряд пробелов одним нажатием сочетания клавиш.

Последовательность действий в этом случае следующая:

  1. В MS Word 2007 перейдите на вкладку Вид, найдите меню Макросы, нажмите в нем раскрывающееся меню Макросы, после чего выберите команду Запись макроса, как показано на рис. 1. Для MS Word 2003: Сервис -> Макрос -> Начать запись…
  2. В появившемся диалоговом окне Запись макроса введите имя создаваемой макропрограммы. Оно должно быть уникальным, отражать смысл макроса и не содержать пробелов. Назовем наш макрос ЛишниеПробелы. В графе Макрос доступен для выберите место сохранения – для всех документов либо только для текущего. Выбираем первый вариант. Далее в графе Описание вкратце укажите, для чего предназначен макрос.
  3. После этого в том же диалоговом окне нажмите одну из кнопок Назначить макрос кнопке (панели для версии 2003) или Назначить макрос клавишам. При выборе первого варианта откроется окошко, из которого в MS Word 2003 название данного макроса можно перетащить на панель инструментов или на любое меню (сделать его пунктом этого меню), а работая в Word 2007, нажав кнопку Добавить, можно поместить вызов макропрограммы в панель быстрого доступа. Если же вы предпочитаете запускать макрос сочетанием клавиш, выберите второй вариант, укажите желаемую комбинацию и нажмите OK. Назначим нашему макросу сочетание клавиш Ctrl+Alt+Пробел.
  4. Запись начата. Теперь вызываем диалог Найти и заменить. Для этого на вкладке Главная в меню Редактирование нажимаем кнопку Заменить. Для 2003 версии: Правка -> Заменить…
  5. В окне Найти и заменить в поле Найти пишем: «{2;}». Эта запись означает – искать 2 или более пробелов подряд. А в графе Заменить на ставим один пробел. После этого нажимаем на кнопку Больше для указания особых параметров поиска. Укажите Направление – везде и снимите галочки со всех опций, кроме Подстановочные знаки. Если эта опция не была установлена, выберите ее. Параметры замены должны быть указаны, как на рис. 2, затем нажмите кнопку Заменить все.
  6. После того как будет выдано сообщение о результатах замены, нужно остановить запись макропрограммы. Для этого нажмите на кнопку Остановить запись (значок- квадратик), которая находится в строке состояния, если вы работаете в Word 2007, и Сервис -> Макрос -> Остановить запись для Word 2003.

Макрос записан. Теперь по нажатии комбинации клавиш Сtrl+Alt+Пробел из текущего документа будут автоматически удаляться лишние пробелы.

Макросы для Microsoft Excel

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

В MS Excel запись, сохранение и быстрый запуск созданных макросов осуществляется подобно тому, как это делается в Word. Рассмотрим несколько примеров, с которыми встречаются пользователи Excel.

Иногда при вводе длинного заголовка таблицы, изменении и пересчете значений и подобных операциях некоторые данные перестают помещаться в ячейках. Вследствие этого в зависимости от версии и текущих настроек Excel текст будет перекрывать соседние ячейки или «прятаться» под ними, если же вводятся числовые данные – вместо цифр вы можете увидеть набор символов #####. Хотя недолго и вручную настроить автоподбор ширины, в случае периодического повторения ситуации лучше создать соответствующий макрос для автоматического выполнения данных действий. Для этого необходимо:

  1. Создать новую книгу или открыть существующую. Описанным выше способом задайте имя, сохранение в личной книге макросов (не только для текущей книги), комбинацию клавиш (по желанию) и начните запись макроса.
  2. Нажмите сочетание клавиш Ctrl+Ф для выделения всех ячеек листа. На закладке Главная в меню Ячейки нажмите кнопку Формат и в меню выберите команду Автоподбор ширины столбца (если вы работаете в 2007 версии MS Office) либо выполните команду Формат -> Столбец -> Автоподбор ширины (для MS Excel 2003). Поставьте курсор снова в ячейку А1 для снятия выделения.
  3. Остановите запись (идентично остановке записи макроса в Word).

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

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

P.S.

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

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

Макросы и безопасность

Несколько советов пользователям, применяющим макросы:

  1. Настройте свою антивирусную программу на фоновую проверку документов MS Office, содержащих макросы (во многих антивирусах установлено по умолчанию).
  2. Выбирайте опцию Отключить макросы при открытии документов с макросами, загруженных из Интернета или полученных из сомнительных источников.
  3. Без особой необходимости не изменяйте настройки по умолчанию, касающиеся макросов и безопасности, в приложениях MS Office.

Установка рекомендуемых настроек для Word или Excel 2007: кнопка Office -> Параметры Word Excel -> Центр управления безопасностью -> Параметры центра управления безопасностью -> Параметры макросов, выберите опцию Отключить все макросы с уведомлением. Для пользователей предыдущей версии: Сервис -> Параметры -> Безопасность -> Защита от макросов выберите степень защиты Средняя или Высокая.

Ссылки по теме

office.microsoft.com/ru-ru/help/HA012317941049.aspx – статья, посвященная основам создания макропрограмм для всех приложений Microsoft Office.

office.microsoft.com/ru-ru/word/HA100997691049.aspx – рассмотрение общих вопросов записи макросов в Microsoft Word 2007.

office.microsoft.com/ru-ru/excel/HP100141111049.aspx – запись макросов в Excel 2007, создание макропрограмм непосредственно в редакторе VBA.

Безопасность макросов Excel – это защита от вирусов, которые могут проникнуть в компьютер вместе с макросами. Безопасность макросов значительно изменилась со времени выхода в свет Excel 2003, поэтому в рамках данной темы особенности старых и новых версий Excel будут рассмотрены раздельно:

  • Безопасность макросов в современных версиях Excel (2007 и более новых)
  • Безопасность макросов в Excel 2003

Безопасность макросов в современных версиях Excel (2007 и более новых)

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

Поэтому, чтобы иметь возможность запускать созданный в обычной рабочей книге Excel макрос всегда и везде, нужно сохранить её с расширением xlsm. Для этого на вкладке Файл (File) нажмите Сохранить как (Save as) и в поле Тип файла (Save as type) выберите Книга Excel с поддержкой макросов (Excel Macro-Enabled Workbook).

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

  1. Отключить все макросы без уведомления (Disable all macros without notification)Запрет на выполнение любых макросов. При открытии книги Excel не уведомляет о том, что эта книга содержит макросы, поэтому пользователь может не понять причину, по которой книга Excel не работает так, как должна.
  2. Отключить все макросы с уведомлением (Disable all macros with notification)Запрет на выполнение макросов. Однако, если в рабочей книге есть макрос, появится предупреждение о том, что макрос присутствует, но отключен.
  3. Отключить все макросы без цифровых подписей (Disable all macros except digitally signed macros)Разрешено выполнение макросов только из доверенных источников. Все прочие макросы выполняться не будут. При открытии книги Excel не уведомляет о том, что эта книга содержит макросы, поэтому пользователь может не понять причину, по которой книга Excel не работает так, как должна.
  4. Включить все макросы (Enable all macros)Разрешено выполнение всех макросов. При открытии книги Excel не появляется уведомление о том, что в ней содержатся макросы. Соответственно пользователь может не знать, что какой-либо макрос выполняется, пока открыт файл.

Вариант Отключить все макросы с уведомлением – позволяет при открытии файла сделать выбор: разрешить запуск макросов или отключить их. При этом вверху листа появляется жёлтая полоса с уведомлением и кнопкой, как показано на рисунке ниже:

Чтобы разрешить выполнение макросов нужно просто кликнуть по кнопке Включить содержимое (Enable Content).

Где найти параметры безопасности макросов в Excel

Вот как можно просматривать или изменять параметры безопасности макросов в Excel 2007, 2010 или 2013:

Excel 2007

  • Откройте главное меню Excel, для этого кликните по большой круглой кнопке Office в левом верхнем углу. Далее нажмите Параметры Excel (Excel Options).
  • В появившемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
  • В разделе Параметры макросов (Macro Settings) выберите нужный параметр и нажмите ОК.

Excel 2010 или 2013

  • На вкладке Файл (File) нажмите Параметры (Options).
  • В открывшемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
  • В разделе Параметры макросов (Macro Settings) выберите нужный параметр и нажмите ОК.

Замечание: Потребуется перезапустить Excel, чтобы новые настройки безопасности макросов вступили в силу.

Надёжные расположения в современных версиях Excel (2007 и более новые)

Excel 2007, 2010 и 2013 позволяет объявить выбранные папки на жёстком диске компьютера как надёжные расположения. При открытии файлов, хранящихся в таких расположениях, Excel не выполняет стандартную проверку безопасности макросов. Другими словами, если поместить файл Excel в папку, которая объявлена надёжной, то при открытии этого файла все макросы, записанные в нём, будут запущены независимо от состояния параметров безопасности.

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

  • Откройте главное меню Excel, для этого кликните по большой круглой кнопке Office в левом верхнем углу. Далее нажмите Параметры Excel (Excel Options).
  • В появившемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
  • В меню слева нажмите Надёжные расположения (Trusted Locations).
  • На вкладке Файл (File) нажмите Параметры (Options).
  • В открывшемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
  • В меню слева нажмите Надёжные расположения (Trusted Locations).

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

  • В разделе Надёжные расположения (Trusted Locations) нажмите кнопку Добавить новое расположение (Add new location).
  • Выберите папку, которую нужно объявить надёжным расположением и нажмите ОК.

Предупреждение: Не рекомендуется добавлять в список надёжных расположений большие разделы жёсткого диска, например, целиком папку Мои документы (My Documents), так как при этом значительно возрастает риск выполнения макроса, полученного из ненадёжного источника.

Безопасность макросов в Excel 2003

В Microsoft Office 2003 существует 4 уровня безопасности макросов, управлять которыми можно в меню Excel. К ним относятся:

  1. Высокая / Очень высокаяЭти два уровня разрешают запуск макросов только из надёжных источников. Все прочие макросы не будут запущены. При открытии книги Excel не уведомляет о том, что эта книга содержит макросы, поэтому пользователь может не понять причину, по которой книга Excel не работает так, как должна.
  2. СредняяЕсли в книге присутствуют макросы, то при открытии книги появится окно уведомления с вопросом, следует ли эти макросы запускать.
  3. НизкаяВсе макросы выполняются. При открытии книги Excel не появляется уведомление о том, что в ней содержатся макросы. Соответственно пользователь может не знать, что какой-либо макрос выполняется, пока открыт файл.

Если хотите запустить макрос в Excel 2003, то безопасность макросов должна быть выбрана Низкая (Low) или Средняя (Medium).

Чтобы открыть и настроить параметры безопасности макросов в Excel 2003, нужно:

  • Открыть меню Сервис > Макрос > Безопасность (Tools > Macro > Security):
  • Установить нужный уровень безопасности и нажать ОК.

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

Урок подготовлен для Вас командой сайта office-guru.ru

Перевел: Антон Андронов
Правила перепечатки
Еще больше уроков по Microsoft Excel

Оцените качество статьи. Нам важно ваше мнение:

Microsoft Excel – это популярное для работы с таблицами приложение, используемое в офисах и домах 90% людей. Несмотря на то что программе уже 34 года, новые возможности продолжают добавляться в обновлениях. Поэтому программа до сих пор популярна. Чтобы облегчить себе работу, нужно знать, как работают эти опции. Для начала расскажем о том, что такое макросы, а потом – как включить макросы в Excel 2010, 2007, 2003.

Что такое макрос?

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

Описание параметров макросов

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

  1. Отключить макросы без уведомления. Применяется для таблиц, автор которых неизвестен. Деактивирует сохраненные в ячейках макросы, не предупреждая об этом. Пользуйтесь им при опасности вирусов в таблице.
  2. Отключить макросы с уведомлением. Этот режим выбран стандартно. Предлагает выключать макросы, но перед этим запрашивает разрешения пользователя. С ним вы сможете решать, оставлять ли, или нет отдельно каждый макрос.
  3. Отключить макросы, кроме макросов с цифровой подписью. Похож на предыдущий, но автоматически разрешает использование макросов, подписанных цифровой подписью предприятия, доверие которому вы уже подтвердили.
  4. Включить макросы. Из названия понятно, что параметр разрешает использование макрокоманд, записанных в таблицу.
  5. Доверять доступ к объектной модели проектов VBA.

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

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

Существует три версии Экселя, где активация макросов отличается друг от друга. Сначала рассмотрим, как включить макросы в Excel 2010.

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

В 2010 версии Экселя разработчики сделали упор на безопасность, поэтому для включения макросов нужно сделать следующее:

  • В верхнем меню приложения нажмите «Файл».
  • Откроется список, выбрать предпоследний пункт – «Параметры».
  • Нажмите, и попадете в окно «Параметры Excel». Слева перейдите в «Центр управления безопасностью».

  • Справа в тексте кликните «Параметры…».
  • Откроется еще одно меню, где нужно выбрать «Параметры макросов».
  • Отметьте один из пунктов, нажмите «Ок».

  • Закройте и запустите Excel снова, для вступления изменений в силу.

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

Здесь способ не сильно отличается от того, как включить макросы в Excel 2010:

  • Нажмите кнопку «Файл» (круглая желтая кнопка с цветными квадратами) слева сверху окна.
  • В правой нижней части меню кликните на «Параметры Excel».

  • Перейдите в раздел «Центр управления безопасностью», а затем «Параметры центра…»
  • В открывшемся меню отметьте режим работы макросов, который нужен.
  • Перезапустите Эксель.

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

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

  1. В открытом приложении нажмите на кнопку «Сервис» в верхнем меню.
  2. В выпадающем списке нажмите на «Макрос», и «Безопасность».
  3. Откроется меню безопасности, где нужно отметить уровень безопасности для макросов.
  4. Нажмите «Ок», и перезайдите в Эксель.

Способы

Включить макрокоманды можно одним из трех путей:

  • во время показа окна сообщения;
  • с помощью Backstage;
  • когда появляется предупреждение системы безопасности.

Во время показа окна сообщения

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

С помощью Backstage

Если открыть книгу с макросами, в меню «Файл» появляется сообщение, позволяющее активировать их. Для этого сделайте следующее:

  1. Раскройте меню «Файл» — левая в ленте вверху страницы.
  2. В окне «Предупреждение системы безопасности» кликните по «Включить содержимое».
  3. Появится диалоговое меню, где необходимо будет отметить «Всегда включать активное содержимое этого документа».

После того как все получилось, перезагрузите приложение.

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

Способ включения только на один раз для одной книги:

  1. Раскройте меню «Файл» — левая в ленте вверху страницы.
  2. В окне «Предупреждение системы безопасности» кликните по «Включить содержимое».
  3. Перейдите в раздел «Дополнительные параметры».
  4. В появившемся поле активируйте пункт «Включить содержимое для этого сеанса» по очереди для каждого из макросов.
  5. Сохраните изменения, кликнув «Ок».