Как в Excel сделать кнопку с макросом
К примеру, написали макрос для выполнения определенной задачи. Чтобы запускать его, нужно каждый раз заходить в меню «Разработчик». Что неудобно. Гораздо проще создать «рабочую» кнопку.
Если мы использовали элемент ActiveX, то:
- включаем режим конструктора (он находится на вкладке «Разработчик»);
- щелкаем два раза кнопкой мыши по созданной кнопке – откроется режим Visual Basic с автоматически созданным пустым каркасом;
- вписываем между двумя строками команду для вызова макроса.
Для других графических объектов макрос назначается так же. Процедура еще проще. Нужно щелкнуть правой кнопкой мыши по нарисованной кнопке или картинке и выбрать инструмент «Назначить макрос».
Как создать макрос в Word
Набор возможностей текстового редактора Microsoft Word действительно очень широк. С помощью этой программы можно решать множество задач, которые возникают при работе с текстовыми документами любой направленности, что и делает этот продукт таким популярным. В Word реализована даже небольшая среда для программирования, с помощью которой можно значительно облегчить себе работу. В самом редакторе это называется макрокомандой или, как называют чаще, макросом. К сожалению, многие пользователи избегают знакомства с эти инструментом, ошибочно полагая, что это что-то сложное и не особо нужное. В этой статье подробно рассмотрим, как создать макрос в Word, что это вообще такое, и почему вы делали неправильно, не пользуясь макрокомандами. Давайте разбираться. Поехали!
Действия в текстовом редакторе можно автоматизировать
Макрокоманда — это, по сути, небольшая программа, которая позволяет автоматизировать и облегчить работу с текстом. В большинстве продуктов Microsoft реализована функция, сохраняющая историю действий пользователя, наиболее часто используемые инструменты и прочее. Всё это можно перевести в формат команд, и вместо того, чтобы каждый раз делать одно и то же, вы просто нажмёте клавишу на клавиатуре, и Ворд всё сделает за вас. Удобно? Ещё бы! На самом деле, это совсем не сложно. Далее в статье по порядку о том, как создать макрос.
Алгоритм действий при создании команды следующий:
- Определить порядок действий;
- Выполнить;
- Записать действия в макрос.
Например, вам нужно выделить жирным шрифтом часть текста в таблице. Для записи команды придётся использовать горячие клавиши — комбинации для каждого инструмента вы можете подсмотреть, наведя курсор на нужный инструмент.
Допустим, нужная вторая колонка. Перемещение между столбцами таблицы осуществляется при помощи клавиши «Tab». Вы нажимаете «Tab» необходимое количество раз, пока не дойдёте до нужной колонки. Затем, если вам нужно выделить часть содержимого ячейки, снимаете выделение, нажав стрелку влево. Далее, выделим два слова из ячейки. Выполните комбинацию Ctrl+Shift и нажмите стрелку вправо дважды (либо столько раз, сколько слов необходимо выделить). И последний шаг — сделать выделенную область полужирной с помощью комбинации Ctrl+B.
Теперь, определившись с порядком действий, запишите макрокоманду. Для этого, перейдите на вкладку «Вид» и отыщите в панели инструментов кнопку «Макросы». Кликнув по ней, вы увидите маленькое меню, в котором нужно выбрать пункт «Записать макрос». В появившемся окне введите название для команды и нажмите на кнопку «Записать». Сразу после этого, возле курсора появится иконка с кассетой, свидетельствующая о том, что началась запись. Выполните чётко по порядку все необходимые действия (в этом примере для выделения полужирным шрифтом нескольких слов из ячейки таблицы). После того как вы всё сделали, нажмите на значок «Стоп» (квадратик) в нижней части окна программы. Всё, макрос готов.
Как же всё это использовать? А очень просто: в панели инструментов нажмите кнопку «Макросы» и одноимённый пункт в появившемся меню — перед вами откроется список всех макросов. Выберите сохранённый вами и нажмите «Выполнить». Существует более удобный вариант — создать специальную кнопку в панели инструментов. Делается это следующим образом: перейдите в меню «Файл», затем «Параметры» и кликните по пункту «Панель быстрого доступа». В разделе «Выбрать команды из:» укажите «Макросы» и выберите из них требуемый. После этого кликните по кнопке «Добавить». Также вы можете назначить иконку, которая будет отображаться для этой кнопки. Готово. В ленте инструментов появится соответствующая иконка, нажатием на которую вы запустите записанный вами алгоритм действий.
Создать макрокоманду можно практически для чего угодно. Можно изменять абзацный отступ, межстрочные интервалы, выровнять области текста, выполнить расчёт заданных значений, или настроить автоматическое заполнение таблицы. Нажмите «Записать макрос» и кликайте мышкой, вызывая соответствующие меню и задавая необходимые значения. Только не выделяйте текст мышкой, для этого лучше использовать горячие клавиши или специальный инструмент программы. Как только всё будет сделано, остановите запись.
Подобные команды могут содержать любое количество шагов и быть любого уровня сложности. Процесс создания макрокоманд одинаковый и для Word 2007, и для Word 2010, и для версии Word 2013.
Обработка списков
Списки
позволяют
эффективно
работать с
большими однородными
наборами данных.
Списком
будем называть
упорядоченный
набор данных,
имеющих одинаковую
структуру.
Например, списком
является телефонный
справочник,
в котором приведены
фамилии абонентов
и номера их
телефонов. В
программе Excel
97 разработчики
из фирмы Microsoft
значительно
упростили
работу со списками.
С технической
точки зрения
списки представляют
собой обычные
таблицы, для
которых в программе
Excel имеются
дополнительные
операции обработки:
ввод списка
данных, поиск
элемента в
списке, редактирование
списков, фильтрация
данных,сортировка
данных, анализ
данных (поиск
тенденций и
закономерностей)
Ввод функций можно выполнить вручную (если функция простая), с помощью функции Автосуммы , расположенной во вкладках Формулы, Главная.
Функция Автосуммы служит для автоматического вычисления суммы, среднего арифметического, максимального или минимального чисел в выделенных ячейках или их количества.
Для простоты работы используется Мастер Функций, выполняющий по шагам диалоговую процедуру задания имени функции, и ее аргументов. Вызвать Мастер Функции можно разными способами: выбрать значок fx (Фомулы) или в строке ввода формул; нажать SHIFT+F3.
Функции могут быть встроенными или определяться пользователем.
Все функции разбиты на категории. Передвигаясь по категориям, можно просматривать функции, которые входят в эти категории. Встроенные функции Excel делятся на следующие категории: математические, логические, тригонометрические, статистические, финансовые, информационные, текстовые, функции даты и времени, инженерные, функции для работы с базой данных, функции просмотра и ссылок.
При отсутствии ошибок в строке формул будет содержаться формула с заданной функцией, а в ячейке — значение, рассчитанное по этой формуле.
Примеры кода VBA Excel с кнопкой
Изначально для реализации примеров на пользовательскую форму UserForm1 добавлена кнопка CommandButton1.
Условие примера 1
- Действия при загрузке формы: замена заголовка формы по умолчанию на «Пример 1», замена надписи кнопки по умолчанию на «Кнопка», запись цвета кнопки по умолчанию в переменную уровня модуля.
- Сделать, чтобы при наведении курсора на кнопку, она изменяла цвет на зеленый, а надпись «Кнопка» менялась на надпись «Нажми!»
- Добавление кода VBA Excel, который будет при удалении курсора с кнопки возвращать ей первоначальные настройки: цвет по умолчанию и надпись «Кнопка».
Решение примера 1
1. Объявляем в разделе Declarations модуля пользовательской формы (в самом начале модуля, до процедур) переменную myColor:
Расширенные возможности MS Excel 2013
Замечание 2
При запуске табличного процессора пользователь видит перед собой полноценный веб-ресурс, а не обычную программу. На стартовой странице размещены различные шаблоны, которые можно подгружать из Интернет. Данную версию программы также удобно использовать на смартфонах и планшетах.
Рассмотрим более подробно внесенные изменения:
- Сохранение на облачном сервере данных выполняется с помощью записи в Live ID. Сохранение документов на облачном сервисе дает возможность с помощью любого оборудования, которое имеет доступ в Интернет, получить все необходимые файлы. После сохранения документа в облачном сервисе пользователь может пригласить других пользователей для его редактирования или просмотра. Параллельно пользователь может создать специальную веб-ссылку, которая будет направлять других пользователей на документ с данными, и устанавливать набор действий, разрешенных для выполнения. Причем большим преимуществом использования облачного сервиса является то, что при этом не учитывается версия Excel, установленная на компьютере пользователя.
- При такой непосредственной связи некоторых документов с сетью Интернет особо важным является вопрос защиты информации, который разработчики полностью решили. К тому же, в Excel 2013 функция Check Out отвечает за создание новых версий документа при его редактировании.
- Возможность установления прав и ограничений для других пользователей, которые имеют доступ к определённому файлу. К примеру, можно запретить показывать страницу или редактировать ее.
- Возможность поиска картинок в сети Интернет прямо из программы и непосредственная вставка их сразу в таблицу. Поиск осуществляется по бесплатным коллекциям картинок, по Flickr и SkyDrive.
- Более широкий список источников данных, что позволяет увеличить эффективность при работе с базами данных; возможность импорта данных.
Зачем это нужно?
Если в вашей компании есть человек, который не пользуется мышью при работе в Excel, то вы наверно замечали, как быстро он выполняет свою работу.
Использование клавиатуры в качестве основного инструмента дает существенную прибавку к скорости работы. Это связано с тем, что наиболее часто используемые команды можно выполнить путем нажатия всего пары клавиш. Также у наших рук есть механическая память, и через некоторое время вы заметите, что вам нужно только подумать, как пальцы уже нажимают нужные клавиши (Вы ведь не задумываетесь, когда печатаете текст — руки сами это делают).
Конечно, полностью отказаться от мышки не получится, да это и не нужно. Например, выбрать рисунок на листе быстрее мышкой, чем перебирать клавиатурой графические объекты. Вы сами для себя определите, какие действия вам быстрее выполнять мышью, а какие с помощью клавиатуры.
Другие варианты использования кнопок
С помощью кнопок в Excel можно не только выполнять созданные макросы, но и переходить в определенную ячейку, другой документ, на другой лист. Рассмотрим подробнее.
Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».
После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.
Достаточно выбрать необходимый вариант и прописать к нему путь. Этот способ не требует написания макросов и предоставляет пользователю широкие возможности.
Подобные задачи можно выполнять и с помощью макросов. Например, чтобы при нажатии, пользователь попадал в определенную ячейку (М6), прописываем следующий код:
Sub Макрос 1() Range(«M6»).Select End Sub
Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.
Как создать кнопку для вызова макроса на листе?
После создания макроса часто возникает вопрос: а как его теперь запустить? Можно, конечно, нажать сочетание клавиш Alt+F8 и выбрать нужный макрос, но. Во-первых это не всегда удобно, особенно если макросов больше 5-ти. Во-вторых: если файлом с макросом будут пользоваться другие люди, не умеющие всего этого делать, придется объяснять им все это, что тоже не очень здорово — многие просто будут вспоминать Вас не очень хорошими словами
Но к нашему общему счастью в Excel есть замечательная возможность создавать элементы, с помощью которых можно вызвать макрос просто нажатием на них. Кроме того это можно сделать еще и красиво. В данной статье я опишу как можно сделать красивые и не очень кнопки на листе для вызова имеющихся у Вас макросов.
Итак, ниже на рисунке Вы можете видеть четыре варианта кнопочек для вызова макроса.
Кнопка элемент ActiveX Данная кнопка считается устаревшей и не рекомендуется к использованию. Однако многие все же предпочитают использовать именно её(либо не знают, что можно по-другому). Так же назначить для этой кнопки макрос кому-то покажется сложнее, чем для остальных, рассматриваемых в данной статье. Как создать такую кнопку:
- В версии Excel 2007 и выше доступ к этим элементам возможен с вкладки Разработчик (Developer) : Отобразить вкладку Разработчик (Developer)(если еще не отображена)Excel 2007: Параметры Excel (Excel Options) — Основные (Popular) — галочка напротив Показывать вкладку Разработчик на ленте (Show Developer Tab on Ribbon)
Excel 2010: Файл (File) — Параметры (Options) — Настройка ленты (Customize Ribbon) — галочка напротив Разработчик (Developer) Теперь переходим на эту вкладку и видим команду Вставить (Insert) . Жмем и у нас выпадает меню с возможностью выбрать элементы:
На данной панели так же выбираем серенький кирпичик и рисуем кнопку.
Теперь осталось назначить созданной кнопке макрос. Для этого, не выходя из режима конструктора (в Excel 2007 он на вкладке Разработчик (Developer) , а в Excel 2003 на панели Visual Basic -), производим двойной щелчок по созданной кнопке — Excel перейдет в режим редактирования кода из интерфейса VBA и автоматом будет создана пустая процедура: Private Sub CommandButton1_Click(). CommandButton1 — это имя нашей кнопки. У Вас оно может отличаться. Теперь внутрь процедуры мы вписываем строку вызова макроса — Call Макрос1. Вместо Макрос1, естественно, имя необходимого макроса.
Private Sub CommandButton1_Click() Call Макрос1 End Sub
Кнопка элемент управления формы Здесь чуть проще. Для того, чтобы добавить данный элемент на лист для начала придется выполнить примерно те же действия, что и для создания кнопки ActiveX. Для пользователей 2007 Excel и выше отобразить вкладку Разработчик (Developer) на ленте(если еще не отображена). Только выбор кнопки теперь надо делать из первой группы — Элементы управления форм. для пользователей 2003 сначала надо добавить панель инструментов Формы: правая кнопка мыши на панели- Настройка— вкладка Панели инструментов. Жмем на первый элемент — серенький кирпичик. Рисуем. Как только Вы нарисуете кнопку появится меню с просьбой назначить макрос на кнопку(рис.1). Вы можете сделать это сразу, либо позже.
Автофигура Для пользователей Excel 2007-2010 : вкладка Вставка (Insert) —Фигуры (Shapes) . Просто выбираете любую понравившуюся фигуру. Для пользователей Excel 2003 для начала необходимо отобразить панель инструментов Рисование, как было описано выше. Там выбрать пункт Автофигуры и выбрать из категории понравившуюся фигуру. После создания фигуры можно кликнуть по ней правой кнопкой мыши, выбрать Формат фигуры и изменить там оформление фигуры: цвет заливки, прозрачность, обводку и еще разные опции — здесь все зависит от фантазии.
Рисунок для пользователей Excel 2007 : вкладка Вставка (Insert) —Рисунок (Picture) . Выбираете любой рисунок из имеющихся на компьютере. Для пользователей 2003 сначала необходимо отобразить панель инструментов Рисование(если не отображена). Далее жмем на кнопку Добавить рисунок из файла .
как назначить макрос Для Кнопки элемент управления формы, Автофигуры и Рисунка процедура назначения макроса совершенно одинакова: жмем правой кнопкой мыши на элементе управления формы, фигуре или картинке — Назначить макрос.
Появится диалоговое окно выбора макросов. Выбираете нужный и жмете Ок. Все, наша кнопка готова и по её нажатии выполняется выбранный нами макрос. рис.1
Таким же образом можно назначить макрос не только указанным элементам, но и Диаграмме, элементу Надпись, обекту WordArt, рисунку SmartArt.
Кнопка – элемент управления формы
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы управления формы».
- Кликните в любом месте на рабочем листе Excel.
- Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
- После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.
Ухватив мышкой за один из кружочков, можно изменить размер кнопки. Ухватив кнопку за границу, можно перетащить ее в другое место. Также, в режиме редактирования, можно изменить название кнопки прямо на ее поверхности.
Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.
Чтобы вернуться в режим редактирования кнопки, кликните по ней правой кнопкой мыши и выберите из контекстного меню нужный пункт. Если вы хотите изменить размер или размещение кнопки перетаскиванием, кликните левой кнопкой мыши в любом месте рабочего листа. После первого клика контекстное меню закроется, а кнопка останется в режиме редактирования.
Создание процедуры для кнопки
Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.
Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) и перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».
Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.
Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.
Нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».
В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».
Вставьте внутрь шаблона процедуры следующий код:
1 |
‘Записываем в ячейку A1 число 44 Cells(1,1)=44 ‘Записываем в ячейку B1 число 56 Cells(1,2)=56 ‘Записываем в ячейку C1 формулу, которая Cells(1,3)=»=A1+B1″ |
На этом процедура (подпрограмма, макрос) для кнопки готова.
Назначение макроса кнопке
Кликните правой кнопкой мыши по кнопке на рабочем листе и в контекстном меню выберите строку «Назначить макрос…», откроется окно «Назначить макрос объекту».
Выберите в списке процедуру «NovayaProtsedura» и нажмите «OK». Кликните левой кнопкой мыши по рабочему листу, чтобы командная кнопка вышла из режима редактирования.
Теперь можете нажать созданную кнопку из коллекции «Элементы управления формы» для проверки ее работоспособности.
Процесс добавления кнопок на лист Excel (Word):
- Если у Вас в ленте не включена панель «Разработчик», ее нужно включить следующим образом:
- Кликнуть по ленте правой кнопкой мыши и в выпадающем контекстном меню выбрать пункт «Настройка ленты…»
Настройка ленты
- В появившемся окне на вкладке «Настроить ленту» установить флажок («галочку») напротив пункта «Разработчик»
Настройка ленты. Разработчик
- Нажать кнопку «Ок»
- Кликнуть по ленте правой кнопкой мыши и в выпадающем контекстном меню выбрать пункт «Настройка ленты…»
- Когда на панели появилась вкладка разработчик, перейдите на нее и нажмите кнопку «Режим конструктора».
Режим конструктора Excel
- При включённом режиме конструктора становиться активной кнопка с инструментами. Кликнув по кнопке с инструментами можно выбрать понравившейса Вам активный элемент: CommandButton или ToggleButton .
Инструменты в режиме конструктора
- Когда элемент выбран, удерживая нажатой левую кнопку мыши, выделите область на листе, в которую Вы хотите поместить этот элемент.
- Кнопка появиться в указанной области.
В режиме конструктора свойства кнопки можно менять и перемещать ее по листу. Вне режима конструктора кнопка просто выполняет свою функцию – нажимается.
Внимание: Если У вас не получается выделить кнопку на листе Excel, включите режим конструктора
Другие варианты использования кнопок
С помощью кнопок в Excel можно не только выполнять созданные макросы, но и переходить в определенную ячейку, другой документ, на другой лист. Рассмотрим подробнее.
Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».
После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.
Достаточно выбрать необходимый вариант и прописать к нему путь. Этот способ не требует написания макросов и предоставляет пользователю широкие возможности.
Подобные задачи можно выполнять и с помощью макросов. Например, чтобы при нажатии, пользователь попадал в определенную ячейку (М6), прописываем следующий код:
Sub Макрос 1() Range(«M6»).Select End Sub
Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.
Ограничения Таблиц Excel
Несмотря на неоспоримые преимущества и колоссальные возможности, у Таблицы Excel есть недостатки.
1. Не работают представления. Это команда, которая запоминает некоторые настройки листа (фильтр, свернутые строки/столбцы и некоторые другие).
2. Текущую книгу нельзя выложить для совместного использования.
3. Невозможно вставить промежуточные итоги.
4. Не работают формулы массивов.
5. Нельзя объединять ячейки. Правда, и в обычном диапазоне этого делать не следует.
Однако на фоне свойств и возможностей Таблиц, эти недостатки практически не заметны.
Множество других секретов Excel вы найдете в онлайн курсе.
Вставляем кнопки в панель быстрого доступа Excel
Настроить эту панель очень важно, так как улучшается удобство использование и скорость работы, например, возможность быстрой печати по заданному диапазону, а в Excel распечатка кусочка таблицы, это очень полезная и нужная возможность. Для добавления кнопок в панель быстрого доступа необходимо несколько шагов:
Для добавления кнопок в панель быстрого доступа необходимо несколько шагов:
- Вариант №1: справа от панели нажать кнопку выпадающего меню «Настройка панели быстрого доступа», выбираете пункт «Другие команды…». Вариант №2: нажать ярлык «Файл», потом «Параметры» и в диалоговом окне слева выбрать «Панель быстрого доступа».
- В выпадающем списке «Выбрать команды из», установить пункт «Все команды»;
- Для списка «Настройка панели быстрого доступа» указываете пункт «Для всех документов (по умолчанию)»;
- В списке команд находите нужную, устанавливаете на нее курсор и кликнете кнопку «Добавить», выбранная кнопка перенесется в вашу панель. Повторите эту процедуру для всех нужных кнопок.
Для получения наиболее удобного варианта использования команд, вы можете настроить цепочку и расположение кнопок на панели, так как вам нравится, используя кнопки-стрелочки «Вверх» или «Вниз» и по окончанию нажмите кнопку «Ок». Дополнительно можно присоединить к панели быстрого доступа любой блок, с ленты инструментов, нажав на него мышкой и кликнув на пункт «Добавить на панель быстрого доступа». Если же вы забили панель быстрого доступа до такой степени, что не можете прочитать даже название своей книги, можете перенести панель вниз, разместив ее над строкой формулы. Для этого выберите справа в выпадающем меню последний пункт «Разместить под лентой».
Другие варианты использования кнопок
С помощью кнопок в Excel можно не только выполнять созданные макросы, но и переходить в определенную ячейку, другой документ, на другой лист. Рассмотрим подробнее.
Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».
После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.
Достаточно выбрать необходимый вариант и прописать к нему путь. Этот способ не требует написания макросов и предоставляет пользователю широкие возможности.
Подобные задачи можно выполнять и с помощью макросов. Например, чтобы при нажатии, пользователь попадал в определенную ячейку (М6), прописываем следующий код:
Sub Макрос 1() Range(«M6»).Select End Sub
Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.