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

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

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

     Добрый день!

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

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

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

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

     Если вы никогда не слышали о макросе, то самым точным его определением будет таким, это действия которые запрограммированы на определённую последовательность и записаны в среде программирования на языке Visual Basic for Applications (VBA).

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

Несмотря на великое множество языков программирования для всего комплекса Microsoft Office стандартом является именно VBA и он работает в любом приложении офисного пакета.

     Итак, создать макрос в Excel возможно 2 способами:

Создать макрос в Excel с помощью макрорекордера

     Для начала проясним, что собой представляет макрорекордер и при чём тут макрос.

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

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

  • Записать макрорекордер может только то, что может пощупать, а значит записывать действия он может только в том случае, когда используются кнопки, иконки, команды меню и всё в этом духе, такие варианты как сортировка по цвету для него недоступна;
  • В случае, когда в период записи была допущена ошибка, она также запишется. Но можно кнопкой отмены последнего действия, стереть последнюю команду которую вы неправильно записали на VBA;
  • Запись в макрорекордере проводится только в границах окна MS Excel и в случае, когда вы закроете программу или включите другую, запись будет остановлена и перестанет выполняться.

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

  • в версии Excel от 2007 и к более новым вам нужно на вкладке «Разработчик» нажать кнопочку «Запись макроса»;
  • в версиях Excel от 2003 и к более старым (они еще очень часто используются) вам нужно в меню «Сервис» выбрать пункт «Макрос» и нажать кнопку «Начать запись».

     Следующим шагом в работе с макрорекордером станет настройка его параметров для дальнейшей записи макроса, это можно произвести в окне «Запись макроса», где:

  • поле «Имя макроса» — можете прописать понятное вам имя на любом языке, но должно начинаться с буквы и не содержать в себе знаком препинания и пробелы;
  • поле «Сочетание клавиш» — будет вами использоваться, в дальнейшем, для быстрого старта вашего макроса. В случае, когда вам нужно будет прописать новое сочетание горячих клавиш, то эта возможность будет доступна в меню «Сервис» — «Макрос» — «Макросы» — «Выполнить» или же на вкладке «Разработчик» нажав кнопочку «Макросы»;
  • поле «Сохранить в…» — вы можете задать то место, куда будет сохранен (но не послан) текст макроса, а это 3 варианта:
    • «Эта книга» — макрос будет записан в модуль текущей книги и сможет быть выполнен только в случае, когда данная книга Excel будет открыта;
    • «Новая книга» — макрос будет сохранен в тот шаблон, на основе которого в Excel создается пустая новая книга, а это значит, что макрос станет доступен во всех книгах, которые будут создаваться на этом компьютере с этого момента;
    • «Личная книга макросов» — является специальной книгой макросов Excel, которая называется «Personal.xls» и используется как специальное хранилище-библиотека макросов. При старте макросы из книги «Personal.xls» загружаются в память и могут быть запущены в любой книге в любой момент.
  • поле «Описание» — здесь вы можете описать, что и как должен делать макрос, для чего он создавался и какие функции несет, это чисто информативное поле, что называется на память.

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

Создать макрос в Excel в редакторе Visual Basic.

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

    Запуск редактора программ на VBA происходит по-разному, в зависимости от версии вашей программы Excel:

  • в версиях Excel 2003 и более старше, нам нужно в меню «Сервис», выбрать пункт «Макрос» и нажать «Редактор Visual Basic»;
  • в версиях Excel 2007 и более новее, нам нужно на вкладке «Разработчик» нажать кнопку «Редактор Visual Basic». В случае когда вы не находите эту вкладку вам нужно ее активировать выбрав пункт меню «Файл» — «Параметры» — «Настройка ленты» и в диалоговом окне флажком активируем вкладку «Разработчик».

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

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

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

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

Модули доступны в окне «Project Explorer» и размещаются в верхнем левом углу редактора макросов (так же его можно вызвать комбинацией клавиш CTRL+R).

     Программные модули в редакторе VBA существуют в нескольких видах и используются для разных вариантов и ситуаций:

  • Обычные модули – самый распространённый вариант при создании макросов. Если вам нужно создание именно такого модуля, тогда выберете в пункте меню «Insert», пункт «Module». В открывшемся новом пустом окне нового модуля теперь можно вводить нужные команды на VBA посредством клавиатуры или же попросту копируя их с других источников, например с моего сайта;
  • Модуль «Эта книга» — размещен там же где и предыдущий в том же окне «Project Explorer» и в данный модуль сохраняют макросы, которые срабатывают при определенных действиях, которые имеют место в книге Excel, это могут быть отправка файла на печать, открытие или закрытие документа и т.п.
  • Модуль листа – может быть доступен там, где и предыдущие, а также через контекстное меню ярлыка листа, выбрав пункт «Исходный текст». В этот модуль записывают те макросы, которые нужно исполнять при выполнении событий на листе, такие как пересчёт листа, изменение данных в ячейке, удаление или копирование листа ну и т.д.

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

     Рассмотрим на примере работающего макроса «Расширенный фильтр»:

  • Все макросы в обязательном порядке будут начинаться с оператора Sub, после которого следует имя вашего макроса и список аргументов в скобочках. В случаях, когда аргументы отсутствуют скобки нужно оставить пустыми;
  • В обязательном порядке все макросы заканчиваются оператором End Sub;
  • Данные что находятся между операторами Sub и End Sub, является телом макроса, которое будет работать при запуске макроса. В примере, макрос проверяет диапазон данных и при вводе данных находит их в списке базы данных и накладывает фильтр, выводя указанное по критериям значение.

     Как видите второй способ более труден в использовании и понимании, если у вас отсутствует опыт в программировании вообще или в частности в VBA.

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

Но дорогу осилит идущий, как говорили древние мудрецы и поэтому и вам не стоит опускать руки, а следовать заповедям дедушки Ленина…

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

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

  1. Кнопка в панели инструментов в MS Excel 2003 и более старше. Вам нужно в меню «Сервис» в пункте «Настройки» перейти на доступную вкладку «Команды» и в окне «Категории» выбрать команду «Настраиваемая кнопка» обозначена жёлтым колобком или смайликом, кому как понятней или удобней. Вытащите эту кнопку на свою панель задач и, нажав правую кнопку мыши по кнопке, вызовите ее контекстное меню, в котором вы сможете отредактировать под свои задачи кнопку, указав для нее новую иконку, имя и назначив нужный макрос.
  2. Кнопка в панели вашего быстрого доступа в MS Excel 2007 и более новее. Вам нужно клацнуть правой кнопкой мышки на панели быстрого доступа, которое находится в верхнем левом углу окна MS Excel и в открывшемся контекстном меню выбираете пункт «Настройка панели быстрого доступа». В диалоговом окне настройки вы выбираете категорию «Макросы» и с помощью кнопки «Добавить» вы переносите выбранный со списка макрос в другую половинку окна для дальнейшего закрепления этой команды на вашей панели быстрого доступа.

    Создание графической кнопки на листе Excel

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

  • В MS Excel 2003 и более старше переходите в меню «Вид», выбираете «Панель инструментов» и нажимаете кнопку «Формы».
  • В MS Excel 2007 и более новее вам нужно на вкладке «Разработчик» открыть выпадающее меню «Вставить» и выбрать объект «Кнопка».

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

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

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

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

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

     К примеру, для создания пользовательской функции налога на добавленную стоимость, он же НДС, нам нужно открыть наш редактор VBA и добавить новый модуль, выбрать в меню «Insert» пункт «Module» и ввести туда текст для нашей функции:      Следует заметить, что главное отличие функции от макроса это заголовок Function заменило Sub и в наличии заполненный список аргументов, в нашем примере это Summa. После того как наш код будет введен, он станет доступен в стандартном окне Мастера функций, который находится в меню «Формулы», пункт «Вставить функцию».        И выбираем категорию «Определенные пользователем» в которой и будет отображаться наша написанная функция «NDS».      После выбора нашей функции можно установить курсор на ячейку с аргументом, в которой будет содержаться та сумма, для которой мы считаем НДС, всё происходит, как и с обычной функцией.        А на этом у меня всё! Я очень надеюсь что статья о том как создать макрос в Excel вам была понятной и полезной. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!

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

       Не забудьте поблагодарить автора!

Не уметь переносить бедность постыдно; не уметь избавиться от неё трудом – ещё постыднее. Перикл

Статья помогла? Поделись ссылкой с друзьями, твитни или лайкни!

Источник: http://topexcel.ru/kak-sozdat-makros-v-excel/

Создание макросов в ms Excel 2007

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

Цельработы:научитьсяиспользовать макросы для автоматизации

выполняемыхзадач

работы:

1Общие сведения

2Запуск макроса с клавиатуры сочетаниемклавиш.

3Запускмакроса из окна Макрос.

Общие сведения

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

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

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

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

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

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

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

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

1.Щелкните вкладку Файл(значок Кнопка Office), азатем щелкнитеПараметрыExcel.

2.В левой области окна ПараметрыExcelнажмите Основные,в правой в группеОсновныепараметры работы с Excelустановитефлажок Показыватьвкладку “Разработчик” на ленте,а затемнажмите кнопкуОК.

1 Запуск макроса с клавиатуры сочетанием клавиш

1.Во вкладке Видвыберите группу Макросы,список Макросыи выберитекоманду Записьмакроса(рисунок 6.1).

Рисунок 6.1 – Записьмакроса

2. Введите имя длямакроса в поле ИмяМакроса,например, Фамилия– рисунок 6.2. Первым символом именимакроса должна быть буква. Остальныесимволы могут быть буквами, цифрами илизнаками подчеркивания. В имени макросане допускаются пробелы – в качестверазделителей слов следует использоватьзнаки подчеркивания.

Рисунок 6.2 – ОкноЗаписьмакроса

  1. В поле Сочетание клавиш ввести букву (нажать соответствующую клавишу, например, ф), нажать ОК. С этого момента все операции, включая ошибочные, записываются в макрос.

  2. Выполнить операции макроса – ввести свою фамилию.

  3. В списке Макросы нажать кнопку Остановить запись.

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

Примечания:

1.Для строчных буквиспользуется сочетание CTRL+буква, а длязаглавных – CTRL+SHIFT+ буква,где буква — любая буквенная клавиша наклавиатуре. Она не может быть цифройили специальным символом. Заданноесочетание клавиш будет заменять любоеустановленное по умолчанию в MicrosoftExcel, пока книга, содержащая данный макрос,открыта.

2. В поле Сохранитьв выберитекнигу, в которой должен быть сохраненмакрос. Чтобы макрос был доступен вовсех открытых книгах MSExcel, нужно в списке выбрать Личная книга макросов, если он должен действовать только вданной книге, то его следует сохранитьв Этакнига.Чтобы создать краткое описание макроса,введите необходимый текст в полеОписание.

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

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

Относительные ссылки будут использоватьсядо конца текущего сеанса работы в MSExcel или до повторного нажатия кнопкиОтносительнаяссылка.

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

Источник: https://StudFiles.net/preview/6058988/page:13/

Использование макросов в Microsoft Office

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

Вы работаете в приложениях пакета 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.

office.microsoft.com/ru-ru/excel/HA100310711049.aspx – безопасное использование макросов в разных приложениях MS Office 2007.

www.philol.msu.ru/~yegorov/macro/index.php – полезные макросы для Microsoft Word.

www.firststeps.ru/vba/excel/vbaexcel1.html – документация по созданию мощных процедур для MS Excel на языке VBA с примерами.

Источник: https://itc.ua/articles/ispolzovanie_makrosov_v_microsoft_office_28520/

Макросы в excel 2016 для чайников с примерами

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

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

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

​ координатами (1,1) было​ записаны квадраты номера​ находится между строками​ с изображением floppy​ VBA относится выполнение​ в язык программирования​ файла одной рабочей​и при помощи​ хранилище макросов. Все​ то, что Excel​, за которым идет​Разработчик (Developer)​ Excel.

  • ​ и нажмите кнопку​
  • ​ также выделение ячеек​ необходимости их присваивания​
  • ​ Она возвращает значение​
  • ​ записано:​ соответствующей строки. Использование​
  • ​ Sub Макрос1() и​
  • ​ disk;​
  • ​ скрипта в среде​ Excel VBA (Visual​
  • ​ книги. В случаи,​ кнопки​
  • ​ макросы из​ никогда не умел​
  • ​ имя макроса и​
  • ​. Теперь на появившейся​

​Практический пример и​ “Удалить”.​ путем перетаскивания указателя​ переменным.​

​ типа Variant с​1, если аргумент положительный;​​ конструкции For позволит​

​ End Sub.​

​пишут, скажем так, набросок​

office-guru.ru

VBA Excel: примеры программ. Макросы в Excel

​ офисных приложений.​ Basic for Applications).​ когда необходимо использовать​Добавить (Add)​Personal.

xls​ (сортировку по цвету,​ список аргументов (входных​ вкладке нам будут​ пошаговый разбор исходного​К началу страницы​ мыши.

Команды для​Перед запуском созданной программы,​ выражением, отформатированным согласно​0, если аргумент нулевой;​ записать ее очень​Если копирование было выполнено,​ кода.​Недостатком программы являются проблемы,​

Что такое VBA

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

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

​ в других файлах​ в правую половину​ при старте Excel​ подобное).

​ Если аргументов нет,​ для работы с​ автоматического объединения повторяющихся​ простых программ макросов​ удаления макросов доступны​ книгу, например, под​ в описании формата.​Создание такого макроса для​ счетчика.

​ А1 в ячейку​Sub program ()​ различных версий. Они​ и выполнять в​ рабочих книг, тогда​ окна, т.е. на​ и могут быть​Если во время записи​ то скобки надо​

Объекты, коллекции, свойства и методы

​ макросами, в том​ одинаковых ячеек в​ необходимых при работе​ на вкладке ленты​ названием “Отчет1.xls”.​и пр.​ “Эксель” начинается стандартным​Сначала нужно создать макрос,​ C1, то одна​'Наш код​ обусловлены тем, что​ Excel практически любые​ можно сохранить его​

​ панель быстрого доступа:​ запущены в любой​ макроса макрорекордером вы​ оставить пустыми.​ числе и нужная​ строках таблицы. 1​ с таблицами на​Разработчик​Клавишу «Создать отчетную таблицу»​Изучение свойств этих функций​

​ способом, через использование​ как описано выше.​ из строк кода​End Sub​ код программы VBA​ задачи. Вы очень​ в личной книге​Кнопка на листе​

​ момент и в​ ошиблись – ошибка​Любой макрос должен заканчиваться​ нам кнопка​ 2 3 4​ каждый день.​

​.​ требуется нажать всего​ и их применение​ «горячих» клавиш Alt​ Далее записываем сам​ будет выглядеть, как​Обратите внимание, что строка​ обращается к функциональным​ скоро поймёте, что​ макросов. У нее​Этот способ подходит для​ любой книге.​ будет записана. Однако​ оператором​Редактор Visual Basic​

​Всем нам приходится -​Макрос для копирования листа​Если вкладка​ 1 раз после​

Как начать

​ позволит значительно расширить​ и F11. Далее​ код. Считаем, что​ Range(“C1”).Select. В переводе​ «'Наш код» будет​ возможностям, которые присутствуют​

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

  • ​End Sub​(Visual Basic Editor)​ кому реже, кому​ в Excel c​Разработчик​
  • ​ ввода заголовочной информации.​
  • ​ сферу применения “Эксель”.​ записывается следующий код:​ нас интересуют значения​
  • ​ это выглядит, как​ выделена другим цветом​

​ в новой версии​

​ уйму времени благодаря​

​ – Personal.xlsb. Она​

​ Мы добавим кнопку​

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

​Попробуем перейти к решению​Sub program()​ для 10 ячеек.​ «Диапазон(“C1”).Выделить», иными словами​ (зеленым). Причина в​ продукта, но отсутствуют​ автоматизации повторяющихся задач​ всегда открывается при​ запуска макроса прямо​ необходимо записать, запись​ последнего действия (Undo)​Все, что находится между​К сожалению, интерфейс редактора​ одни и те​

Макросы в Excel

​Практический пример с​ ниже действия, чтобы​ другие правила. В​ более сложных задач.​x= Cells(1, 1).Value (эта​ Код выглядит следующим​ осуществляет переход в​ апострофе, поставленном в​ в старой.

Также​ и обеспечить гибкое​ запуске программы Excel,​ на рабочий лист,​ можно остановить командой​ – во время​Sub​ VBA и файлы​ же действия и​ описанием и исходным​ открыть ее.

​ частности, кнопка «Добавить​

Пример 1

​ Например:​ команда присваивает x​ образом.​ VBA Excel, в​ начале строки, который​

​ к минусам относят​

  • ​ взаимодействие с другими​
  • ​ только скрыто. Данная​
  • ​ как графический объект.​
  • ​Остановить запись​

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

​For i = 1​ ячейку С1.​ обозначает, что далее​ и чрезмерно высокую​ пользователями.​ книга не является​ Для этого:​(Stop Recording)​ она не просто​

​End Sub​

  • ​ компанией Microsoft на​ Любая офисная работа​
  • ​ одновременного копирования любого​Excel​
  • ​ каждый раз после​ фактического уровня издержек​ с координатами (1,​

Источник: http://my-excel.ru/vba/makrosy-v-excel-2016-dlja-chajnikov-s-primerami.html

Как записать макрос в Excel? Пошаговая инструкция

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

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

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

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

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

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

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

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

  1. Щелкните правой кнопкой мыши по любой из существующих вкладок на ленте и нажмите «Настроить ленту». Он откроет диалоговое окно «Параметры Excel».
  2. В диалоговом окне «Параметры Excel» у вас будут параметры «Настроить ленту». Справа на панели «Основные вкладки» установите флажок «Разработчик».
  3. Нажмите «ОК».

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

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

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

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

  1. Перейдите на вкладку “Разработчик”.
  2. В группе “Код” нажмите кнопку “Запись макроса”. Откроется одноименное диалоговое окно.
  3. В диалоговом окне “Запись макроса” введите имя для своего макроса, например “ВводТекста”. Есть несколько условий именования, которые необходимо соблюдать при назначении макроса. Например, вы не можете использовать пробелы между ними. Обычно я предпочитаю сохранять имена макросов как одно слово, с разными частями с заглавным первым алфавитом. Вы также можете использовать подчеркивание для разделения двух слов – например, “Ввод_текста”.
  4. Если вы хотите, то можете задать сочетание клавиш. В этом случае мы будем использовать ярлык Ctrl + Shift + N. Помните, что сочетание, которое вы указываете, будет отменять любые существующие горячие клавиши в вашей книге. Например, если вы назначили сочетание Ctrl + S, вы не сможете использовать это для сохранения рабочей книги (вместо этого, каждый раз, когда вы его используете, он выполняет макрос).
  5. В поле “Сохранить в” убедитесь, что выбрана опция “Эта книга”. Этот шаг гарантирует, что макрос является частью рабочей книги. Он будет там, когда вы сохраните его и снова откроете, или даже если вы поделитесь файлом с кем-то.
  6. Введите описание при необходимости. Обычно я этого не делаю, но если у вас много макросов, лучше указать, чтобы в будущем не забыть что делает макрос.
  7. Нажмите “ОК”. Как только вы нажмете OK, Excel начнет записывать ваши действия. Вы можете увидеть кнопку “Остановить запись” на вкладке “Разработчик”, которая указывает, что выполняется запить макроса.
  8. Выберите ячейку A2.
  9. Введите текст “Excel” (или вы можете использовать свое имя).
  10. Нажмите клавишу Enter. Вы попадете на ячейку A3.
  11. Нажмите кнопку “Остановить запись” на вкладке “Разработчик”.

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

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

  1. Удалите текст в ячейке A2. Это нужно, чтобы проверить будет ли макрос вставлять текст в ячейку A2 или нет.
  2. Выберите любую ячейку – кроме A2. Это нужно проверить, выбирает ли макрос ячейку A2 или нет.
  3. Перейдите на вкладку “Разработчик”.
  4. В группе “Код” нажмите кнопку “Макросы”.
  5. В диалоговом окне “Макрос” щелкните макрос “ВводТекста”.
  6. Нажмите кнопку “Выполнить”.

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

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

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

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

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

  1. Перейдите на вкладку “Разработчик”.
  2. В группе “Код” нажмите кнопку “Visual Basic”.
     

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

Рассмотрим сам редактор кода. Далее коротко опишем интерфейс редактора.

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

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

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

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

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

Источник: http://micro-solution.ru/excel/vba/first-macros

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.