Содержание
- Процедура создания
- Способ 1: автофигура
- Способ 2: стороннее изображение
- Способ 3: элемент ActiveX
- Способ 4: элементы управления формы
- Вопросы и ответы
Excel является комплексным табличным процессором, перед которым пользователи ставят самые разнообразные задачи. Одной из таких задач является создание кнопки на листе, нажатие на которую запускало бы определенный процесс. Данная проблема вполне решаема с помощью инструментария Эксель. Давайте разберемся, какими способами можно создать подобный объект в этой программе.
Процедура создания
Как правило, подобная кнопка призвана выступать в качестве ссылки, инструмента для запуска процесса, макроса и т.п. Хотя в некоторых случаях, данный объект может являться просто геометрической фигурой, и кроме визуальных целей не нести никакой пользы. Данный вариант, впрочем, встречается довольно редко.
Способ 1: автофигура
Прежде всего, рассмотрим, как создать кнопку из набора встроенных фигур Excel.
- Производим перемещение во вкладку «Вставка». Щелкаем по значку «Фигуры», который размещен на ленте в блоке инструментов «Иллюстрации». Раскрывается список всевозможных фигур. Выбираем ту фигуру, которая, как вы считаете, подойдет более всего на роль кнопки. Например, такой фигурой может быть прямоугольник со сглаженными углами.
- После того, как произвели нажатие, перемещаем его в ту область листа (ячейку), где желаем, чтобы находилась кнопка, и двигаем границы вглубь, чтобы объект принял нужный нам размер.
- Теперь следует добавить конкретное действие. Пусть это будет переход на другой лист при нажатии на кнопку. Для этого кликаем по ней правой кнопкой мыши. В контекстном меню, которое активируется вслед за этим, выбираем позицию «Гиперссылка».
- В открывшемся окне создания гиперссылки переходим во вкладку «Местом в документе». Выбираем тот лист, который считаем нужным, и жмем на кнопку «OK».
Теперь при клике по созданному нами объекту будет осуществляться перемещение на выбранный лист документа.
Урок: Как сделать или удалить гиперссылки в Excel
Способ 2: стороннее изображение
В качестве кнопки можно также использовать сторонний рисунок.
- Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
- Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».
- Открывается окно выбора изображения. Переходим с помощью него в ту директорию жесткого диска, где расположен рисунок, который предназначен выполнять роль кнопки. Выделяем его наименование и жмем на кнопку «Вставить» внизу окна.
- После этого изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетягивая границы. Перемещаем рисунок в ту область, где желаем, чтобы размещался объект.
- После этого к копке можно привязать гиперссылку, таким же образом, как это было показано в предыдущем способе, а можно добавить макрос. В последнем случае кликаем правой кнопкой мыши по рисунку. В появившемся контекстном меню выбираем пункт «Назначить макрос…».
- Открывается окно управление макросами. В нем нужно выделить тот макрос, который вы желаете применять при нажатии кнопки. Этот макрос должен быть уже записан в книге. Следует выделить его наименование и нажать на кнопку «OK».
Теперь при нажатии на объект будет запускаться выбранный макрос.
Урок: Как создать макрос в Excel
Способ 3: элемент ActiveX
Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.
- Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».
- В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.
- После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.
- После этого кликаем по любому месту на листе, которое считаем нужным. Сразу вслед за этим там отобразится элемент. Как и в предыдущих способах корректируем его местоположение и размеры.
- Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.
- Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.
Теперь макрос будет привязан к объекту.
Способ 4: элементы управления формы
Следующий способ очень похож по технологии выполнения на предыдущий вариант. Он представляет собой добавление кнопки через элемент управления формы. Для использования этого метода также требуется включение режима разработчика.
- Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.
- Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.
- После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.
Как видим, в Экселе создать функциональную кнопку не так сложно, как это может показаться неопытному пользователю. К тому же данную процедуру можно выполнить с помощью четырех различных способов на свое усмотрение.
Еще статьи по данной теме:
Помогла ли Вам статья?
Как сделать кнопку в Excel? Войдите в раздел «Разработчик», откройте меню «Вставить», выберите изображение и назначьте макрос, гиперссылку, переход на другой лист или иную функцию. Ниже подробно рассмотрим все способы создания клавиш в Эксель, а также приведем функции, которые им можно присвоить.
Как создать кнопку: базовые варианты
Перед тем как сделать кнопку в Эксель, убедитесь в наличии режима разработчика. Если такой вкладки нет, сделайте следующие шаги:
- Жмите по ленте правой клавишей мышки (ПКМ).
- В появившемся меню кликните на пункт «Настройка ленты …».
- В окне «Настроить ленту» поставьте флажок возле «Разработчик».
- Кликните «ОК».
После того, как сделана подготовительная работа, можно вставить кнопку в Excel. Для этого можно использовать один из рассмотренных ниже способов.
Через ActiveX
Основной способ, как создать кнопку в Excel — сделать это через ActiveX. Следуйте такому алгоритму:
- Войдите в раздел «Разработчик».
- Жмите на кнопку «Вставить».
- В появившемся меню выберите интересующий элемент ActiveX.
- Нарисуйте его нужного размера.
Через элемент управления
Второй вариант — создание кнопки в Excel через элемент управления. Алгоритм действий такой:
- Перейдите в «Разработчик».
- Откройте панель «Вставить».
- Выберите интересующий рисунок в разделе «Элемент управления формы».
- Нарисуйте нужный элемент.
- Назначьте макрос или другую функцию.
Через раздел фигур
Следующий способ, как добавить кнопку в Excel на лист — сделать это с помощью раздела «Фигуры». Алгоритм действий такой:
- Перейдите в раздел «Вставка».
- Войдите в меню «Иллюстрации», где выберите оптимальную фигуру.
- Нарисуйте изображение необходимой формы и размера.
- Кликните ПКМ по готовой фигуре и измените оформление.
В качестве рисунка
Вставка кнопки Excel доступна также в виде рисунка. Для достижения результата пройдите такие шаги:
- Перейдите во вкладку «Вставка».
- Кликните в категорию «Иллюстрации».
- Выберите «Рисунок».
- Определитесь с типом клавиши, который предлагается программой.
Какие кнопки можно создать
В Excel возможно добавление кнопки двух видов:
- Command Button — срабатывает путем нажатия, запускает определенное действие (указывается индивидуально). Является наиболее востребованным вариантом и может играть роль ссылки на страницу, таблицу, ячейку и т. д.
- Toggle Button — играет роль переключателя / выключателя. Может нести определенные сведения и скрывать в себе два параметра — Faste и True. Это соответствует двум состояниям — нажато и отжато.
Также перед тем как поставить кнопку в Эксель, нужно определиться с ее назначением. От этого напрямую зависят дальнейшие шаги. Рассмотрим разные варианты.
Макрос
Часто бывают ситуации, когда необходимо создать кнопку макроса в Excel, чтобы она выполняла определенные задачи. В обычном режиме для запуска нужно каждый раз переходить в раздел разработчика, что требует потери времени. Проще создать рабочую клавишу и нажимать ее по мере неободимости.
Если вы решили сделать клавишу с помощью ActiveX, алгоритм будет таким:
- Войдите в «Режим конструктора».
- Кликните дважды по ней.
- В режиме Visual Basic между двумя строками впишите команду, необходимую для вызова макроса., к примеру, Call Макрос1.
- Установите назначение для остальных графических объектов, если они есть.
Зная, как назначить кнопку в Excel, вы легко справитесь с задачей. Но можно сделать еще проще — жмите на рисунок ПКМ и в списке внизу перейдите в раздел «Назначить макрос». Здесь уже задайте интересующую команду.
Переход на другой лист / ячейку / документ
При желании можно сделать кнопку в Excel, которая будет отправлять к другому документу, ячейке или листу. Для этого сделайте следующее:
- Подготовьте клавишу по схеме, которая рассмотрена выше.
- Выделите ее.
- На вкладке «Вставка» отыщите «Гиперссылка».
- Выберите подходящий вариант. Это может быть файл, веб-страница, e-mail, новый документ или другое место.
- Укажите путь.
Рассмотренный метод не требует указания макросов и предоставляет расширенные возможности. При желании можно также использовать и макросы.
Существует и другой способ, как сделать кнопку в Excel для перехода к определенному листу. Алгоритм такой:
- Создайте рисунок по рассмотренной выше схеме.
- В окне «Назначить макрос» введите имя макроса, а после жмите на клавишу входа в диалоговое окно Microsoft Visual Basic.
- Вставьте код для перехода к другому листу — ThisWorkbook.Sheets(«Sheet1»).Activate. Здесь вместо Sheet1 укажите путь к листу с учетом запроса.
- Сохраните код и закройте окно.
Сортировка таблиц
При желании можно сделать клавишу для сортировки таблиц Excel. Алгоритм действий такой:
- Создайте текстовую таблицу.
- Вместо заголовков добавьте автофигуры, которые в дальнейшем будут играть роль клавиш-ссылок на столбцах таблицы.
- Войдите в Visual Basic режим, где в папке Modules вставьте модуль Module1.
- Кликните ПКМ по папке и жмите на Insert Module.
- Сделайте двойной клик по Module1 и введите код.
- Назначьте каждой фигуре индивидуальный макрос.
После выполнения этих шагов достаточно нажать по заголовку, чтобы таблица сортировала данные в отношении определенного столбца.
По рассмотренным выше принципам несложно разобраться, как в Экселе сделать кнопки выбора и решения других задач. В комментариях расскажите, какой из приведенных методов вам подошел, и как проще всего самому сделать клавишу в программе.
Отличного Вам дня!
Прикреплённая к статье надстройка содержит модуль, который может создавать панель инструментов любой сложности при запуске файла.
На панель можно добавлять как обычные кнопки, так и раскрывающиеся выпадающие списки, подменю, текстовые поля.
Формирование панели инструментов происходит при загрузке файла, при закрытии же его — созданная панель скрывается:
Private Sub Workbook_Open() ФормированиеПанелиИнструментов End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) GetCommandBar(PROJECT_NAME, True).Visible = False End Sub
Основной код модуля:
' ВНИМАНИЕ! Наличие константы PROJECT_NAME ОБЯЗАТЕЛЬНО! Public Const PROJECT_NAME = "Addin CommandBar" ' список допустимых элементов управления на пользовательской панели инструментов Public Enum CONTROL_TYPES ct_BUTTON = msoControlButton ct_TEXTBOX = msoControlEdit ct_COMBOBOX = msoControlComboBox ct_DROPDOWN = msoControlDropdown ct_POPUP = msoControlPopup End Enum Function Add_Control(ByRef Comm_Bar, ByVal ControlType As CONTROL_TYPES, ByVal B_Face As Integer, _ ByVal On_Action As String, ByVal B_Caption As String, _ Optional ByVal Button_Style As MsoButtonStyle = msoButtonIcon, _ Optional ByVal Begin_Group As Boolean = False, _ Optional Tag As String = "") As CommandBarControl ' добавляет контролы в меню Comm_Bar, возвращает ссылку на созданный пункт меню On Error Resume Next Set Add_Control = Comm_Bar.Controls.Add(Type:=ControlType, Temporary:=True) ' создаём новый контрол With Add_Control If B_Face > 0 And ControlType = ct_BUTTON Then .FaceId = B_Face ' назначаем кнопке иконку .Tag = Tag: .OnAction = On_Action: .Caption = B_Caption ' параметры контрола .BeginGroup = Begin_Group ' добавляем разделитель (при необходимости) If ControlType = ct_BUTTON Then .Style = Button_Style End With End Function
Function GetCommandBar(ByVal CommandBarName As String, Optional ByVal Clean As Boolean = False, _ Optional ByVal Position As MsoBarPosition = msoBarFloating) As CommandBar On Error Resume Next: Err.Clear ' получаем ссылку на пользовательскую панель инструментов Set GetCommandBar = Application.CommandBars(CommandBarName) If Err.Number Then ' если панель не найдена - создаём её Set GetCommandBar = Application.CommandBars.Add(CommandBarName, Position, False, True) End If If Clean Then ' перебираем на ней все элементы, и удаляем их For Each cbc In GetCommandBar.Controls: cbc.Delete: Next End If GetCommandBar.Visible = True ' отображаем панель инструментов End Function Sub УдалениеПанелиИнструментов() GetCommandBar PROJECT_NAME, True End Sub Sub ФормированиеПанелиИнструментов() On Error Resume Next: Application.ScreenUpdating = False ' получаем ссылку на пользовательскую панель инструментов Set AddinMenu = GetCommandBar(PROJECT_NAME, True) ' добавление новых элементов управления на панель Add_Control AddinMenu, ct_BUTTON, 271, "CreateBackup", "Create Backup and Save", , True Add_Control AddinMenu, ct_BUTTON, 1099, "MainMacro", "Запуск основного макроса", msoButtonIconAndCaption, True Add_Control(AddinMenu, ct_TEXTBOX, 0, "ComboChanged", "Курс EURO", , True, "EURO").Text = "Курс EURO" Add_Control(AddinMenu, ct_TEXTBOX, 0, "ComboChanged", "Курс USD", , False, "USD").Text = "Курс USD" Add_Control AddinMenu, ct_BUTTON, 395, "GetRatesFromInternet", "Получить курс с сайта Центробанка", False Dim combo As CommandBarControl ' добавляем выпадающий список Set combo = Add_Control(AddinMenu, ct_COMBOBOX, 548, "ComboChanged", "Выбор продукции", , True, "ПРОДУКЦИЯ") ' добавляем позиции (пункты) в выпадающий список For i = 1 To 10: combo.AddItem "Позиция " & i: Next i combo.Text = "выберите позицию" ' текст комбобокса по умолчанию combo.Width = 145 ' изменяем ширину выпадающего списка на панели инструментов Add_Control AddinMenu, ct_BUTTON, 280, "RenamePhotoes", "Переименование фотографий", , True Dim popup As CommandBarControl ' добавляем выпадающее меню Set popup = Add_Control(AddinMenu, ct_POPUP, 548, "", "Доп. макросы", , True) For i = 1 To 5 ' добавляем пункты в подменю popup Add_Control popup, ct_BUTTON, 70 + i, "AdditionalMacros", "Дополнительный макрос " & i, False, , CStr(i) Next i Add_Control AddinMenu, ct_BUTTON, 222, "EditWorkPlan", "Перейти к редактирования техзадания на программу", , True Add_Control AddinMenu, ct_BUTTON, 1088, "SetIsAddinAsTrue", "Скрыть листы файла программы", , True Add_Control AddinMenu, ct_BUTTON, 1087, "SetIsAddinAsFalse", "Отобразить листы файла программы", , False Add_Control AddinMenu, ct_BUTTON, 548, "ShowFormSettingsPage", "Настройки", , True End Sub
Sub SetIsAddinAsFalse() On Error Resume Next: ThisWorkbook.IsAddin = False End Sub Sub SetIsAddinAsTrue() On Error Resume Next: ThisWorkbook.IsAddin = True End Sub Sub CreateBackup() ' сохраняет файл надстройки, и создаёт резервную копию файла в специальной папке On Error Resume Next If Not ThisWorkbook.Saved Then ThisWorkbook.Save ' сохранение файла ' формируем путь к папке для резервных копий программы BackupsPath = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, PROJECT_NAME & " Backups") ' создаём папку, если она не существует MkDir BackupsPath ' формируем путь для файла резервной копии Filename = PROJECT_NAME & "_BACKUP_" & Format(Now, "DD-MM-YYYY__HH-NN-SS") & ".xls" ' создаём копию файла надстройки ThisWorkbook.SaveCopyAs BackupsPath & Filename End Sub
Sub ComboChanged() ' срабатывает при изменении значения в комбобоксе или текстбоксе On Error Resume Next НазваниеКомбобокса = Application.CommandBars.ActionControl.Tag ТекстКомбобокса = Application.CommandBars.ActionControl.Text MsgBox "Новое значение: """ & ТекстКомбобокса & """", _ vbInformation, "Изменения в полесписке """ & НазваниеКомбобокса & """" End Sub Sub AdditionalMacros() ' срабатывает при нажатии одной из кнопок в подменю On Error Resume Next НомерМакроса = Application.CommandBars.ActionControl.Tag MsgBox "Параметр макроса = """ & НомерМакроса & """", vbInformation, "Запущен макрос из подменю" End Sub
- 79489 просмотров
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
Добрый день уважаемый читатель!
Сейчас речь пойдет не о формулах и прочих полезностей, которыми насыщен Excel. Поговорим об удобстве пользования программой, а именно как в панель управления Excel вставить необходимые кнопки.
Какой бы не была хорошей и огромной панель управления, каждый пользователь сталкивается с проблемой, что ему чего-то, да и не хватает. Это может быть любая функция или инструмент, не включённый в стандартный перечень, сами же понимаете, что панель не резиновая и всего вместить невозможно. Также часто случается, что необходимость использования макросов достаточно большая или даже постоянная и нужно создать кнопку и внедрить ее в панель управления для лучшей эффективности.
В связи с этими причинами можно определить 3 варианта, куда есть возможность внедрить кнопки, в зависимости от необходимости:
- В панель быстрого доступа;
- В панель управления (лента инструментов);
- Добавляем макрос в кнопку.
Вставляем кнопки в панель быстрого доступа Excel
Настроить эту панель очень важно, так как улучшается удобство использование и скорость работы, например, возможность быстрой печати по заданному диапазону, а в Excel распечатка кусочка таблицы, это очень полезная и нужная возможность.
Для добавления кнопок в панель быстрого доступа необходимо несколько шагов:
-
Вариант № 1: справа от панели нажать кнопку выпадающего меню «Настройка панели быстрого доступа», выбираете пункт «Другие команды…». Вариант № 2: нажать ярлык «Файл», потом «Параметры» и в диалоговом окне слева выбрать «Панель быстрого доступа».
- В выпадающем списке «Выбрать команды из», установить пункт «Все команды»;
- Для списка «Настройка панели быстрого доступа» указываете пункт «Для всех документов (по умолчанию)»;
- В списке команд находите нужную, устанавливаете на нее курсор и кликнете кнопку «Добавить», выбранная кнопка перенесется в вашу панель. Повторите эту процедуру для всех нужных кнопок.
Для получения наиболее удобного варианта использования команд, вы можете настроить цепочку и расположение кнопок на панели, так как вам нравится, используя кнопки-стрелочки «Вверх» или «Вниз» и по окончанию нажмите кнопку «Ок».
Дополнительно можно присоединить к панели быстрого доступа любой блок, с ленты инструментов, нажав на него мышкой и кликнув на пункт «Добавить на панель быстрого доступа».
Если же вы забили панель быстрого доступа до такой степени, что не можете прочитать даже название своей книги, можете перенести панель вниз, разместив ее над строкой формулы. Для этого выберите справа в выпадающем меню последний пункт «Разместить под лентой».
Вставляем кнопки в панель инструментов
Теперь поговорим более обширно, когда нужно расширить стандартный функционал добавлением новых кнопок с новыми возможностями, вернее сказать открыть скрытые возможности. Используя путь по варианту № 2 (см. выше) в диалоговом окне «Параметры Excel» выбираете слева пункт «Настройка ленты».
Еще намного проще вызвать диалоговое окно настроек это на ленте кликнуть мышкой, вызвав контекстное меню и выбрать пункт «Настройка ленты…».
Существуют сотни команд, которые не попали на ленту управления, тем не менее, их возможности могут вам помочь, а значится их кнопки надо найти и добавить в тот блок, который нужно расширить по функционалу.
Технически добавление не очень сложное, нужно только знать что вам нужно, как называется кнопка и где она находится, тут мне подсказать сложнее, зависит от стоячих перед вами задач. Для этого стоит выделить немного времени и почитать о возможностях программы, что позволит вам более продуктивно работать, да и интересно будет. Перечень полезной литературы вы найдете у меня на сайте в разделе «Библиотека».
Вставляем в кнопку макрос
Если вы создаете макросы, и это происходит частенько, тогда стоит макрос прикрутить к кнопке, которой он и будет запускаться. А саму кнопку можно внедрить в ленту управления или панель быстрого доступа для большей удобности и доступности в работе. О создании макросов вы можете ознакомиться в статье «Как создать макрос?», а сейчас мы будем работать с простым примером.
Внимание! Если есть необходимость, чтобы кнопку с макросом можно было использовать и в других книгах Excel, нужно использовать макрос, созданный в личной книге.
Пример № 1:
Добавим условный макрос на примере размещения кнопки в панели быстрого доступа. Пошагово это будет так:
- В редакторе VBA создаем макрос;
- В меню «Параметры» выбираете пункт «Панель быстрого доступа»;
- В выпадающем списке «Выбрать команды из…», указываем «Макросы»;
- Выбираем макрос «Моя_программа»;
- Кликаем кнопку «Добавить» и перемещаем макрос в перечень кнопок в панели быстрого доступа;
- Теперь нажав кнопку «Изменить…» можно с предложенного списка выбрать новую пиктограммку для макроса, взамен непонятной абстракции;
- В диалоговом окне «Изменение кнопки» в поле «Символ» выбираете подходящий значок для кнопки;
- Взамен предлагаемого программой имени кнопки, есть возможность в поле «Отображаемое имя:» ввести то которое вам нужно (можно вводить и с пробелами);
- Кликаем «ОК» на выборе иконки и «ОК» в настройках.
Теперь на панели быстрого доступа загорелась новая и красивая кнопочка ручной сборки, которая умеет запускать прикреплённые к ней макросы.
Пример № 2:
Теперь добавим макрос в кнопку и поместим ее на ленте в настраиваемой группе. Пошагово это можно сделать так:
- Используем созданный в редакторе макрос, как в пункте № 1 предыдущего примера;
- В меню «Параметры» выбираете пункт «Настройка ленты»;
- В окне «Основные вкладки» устанавливаем курсор на тот раздел, где необходимо создать группу (например, «Главная») и кликаем на кнопку «Создать группу»;
- Устанавливаем курсор на созданную по умолчанию группу «Новая группа (настраиваемая)», кликаем кнопку «Переименовать» и в диалоговом окне можем выбрать пиктограмму группы и в поле «Отображаемое имя» вводите нужное имя (например, «ТОП»);
- В выпадающем списке «Выбрать команды», выбираем «Макросы»;
- Указываем созданный нами макрос «Моя_программа»;
- Кликаем кнопку «Добавить» и перемещаем макрос в созданную нами группу «ТОП (настраиваемая);
- Выбираете перенесённую кнопку макроса в группе «ТОП», нажимаете кнопку «Переименовать» и вводите правильное имя (пробелы в имени допускаются) в диалоговом окне в поле «Отображаемое имя», там же выбираете и новую иконку для кнопки;
- Теперь осталось только подтвердить введенные изменения двойным подтверждением «ОК».
На указанной вами в настройках вкладке вы увидите созданную вами группу, а в ней добавленную кнопку со встроенным макросом.
Как видите все два примера, очень похожи и при желании вы сможете переделать под себя всю панель управления Excel, как будет ваше на то желание.
Вставка командной кнопки на рабочий лист для начинающих программировать с нуля. Кнопки из коллекций «Элементы управления формы» и «Элементы ActiveX».
Начинаем программировать с нуля
Часть 3. Первая кнопка
[Часть 1] [Часть 2] [Часть 3] [Часть 4]
Добавление вкладки «Разработчик»
Вкладка с инструментами, связанными с VBA Excel, называется «Разработчик». Если этой вкладки нет на вашей ленте, добавьте ее через окно «Параметры»:
Порядок действий:
- Откройте окно «Параметры» через меню «Файл».
- Выберите вкладку «Настроить ленту».
- В правой колонке установите галочку у пункта «Разработчик» и нажмите «OK».
Кнопка – элемент управления формы
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы управления формы».
- Кликните в любом месте на рабочем листе Excel.
- Откроется окно «Назначить макрос объекту». Нажмите «Отмена», так как макрос для этой кнопки еще не готов.
- После нажатия кнопки «Отмена», на рабочем листе появится новая кнопка из коллекции «Элементы управления формы» в режиме редактирования.
Ухватив мышкой за один из кружочков, можно изменить размер кнопки. Ухватив кнопку за границу, можно перетащить ее в другое место. Также, в режиме редактирования, можно изменить название кнопки прямо на ее поверхности.
Чтобы выйти из режима редактирования кнопки из коллекции «Элементы управления формы», кликните в любом месте на рабочем листе.
Чтобы вернуться в режим редактирования кнопки, кликните по ней правой кнопкой мыши и выберите из контекстного меню нужный пункт. Если вы хотите изменить размер или размещение кнопки перетаскиванием, кликните левой кнопкой мыши в любом месте рабочего листа. После первого клика контекстное меню закроется, а кнопка останется в режиме редактирования.
Создание процедуры для кнопки
Кнопке из коллекции «Элементы управления формы» можно назначить макрос (процедуру), размещенную в стандартном программном модуле.
Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) и перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».
Если вы не создавали ранее в этом проекте VBA стандартный программный модуль, нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.
Ссылка на модуль появится в проводнике слева. Если модуль создан ранее, дважды кликните по его ссылке в проводнике, и он откроется справа для редактирования.
Нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В открывшемся окне добавления шаблона процедуры оставьте выбранным переключатель «Sub», вставьте в поле «Name» название процедуры «NovayaProtsedura» и нажмите «OK».
В стандартный программный модуль будет вставлен шаблон процедуры «NovayaProtsedura».
Вставьте внутрь шаблона процедуры следующий код:
‘Записываем в ячейку A1 число 44 Cells(1, 1) = 44 ‘Записываем в ячейку B1 число 56 Cells(1, 2) = 56 ‘Записываем в ячейку C1 формулу, которая ‘вычисляет сумму значений ячеек A1 и B1 Cells(1, 3) = «=A1+B1» |
На этом процедура (подпрограмма, макрос) для кнопки готова.
Назначение макроса кнопке
Кликните правой кнопкой мыши по кнопке на рабочем листе и в контекстном меню выберите строку «Назначить макрос…», откроется окно «Назначить макрос объекту».
Выберите в списке процедуру «NovayaProtsedura» и нажмите «OK». Кликните левой кнопкой мыши по рабочему листу, чтобы командная кнопка вышла из режима редактирования.
Теперь можете нажать созданную кнопку из коллекции «Элементы управления формы» для проверки ее работоспособности.
Кнопка – элемент ActiveX
Вставка кнопки на лист
- Выберите вкладку «Разработчик» и нажмите на кнопку «Вставить».
- Нажмите на значок кнопки в коллекции «Элементы ActiveX».
- Кликните по рабочему листу и кнопка из коллекции «Элементы ActiveX» появится рядом с курсором.
- Автоматически включится режим редактирования, включение и отключение которого осуществляется кнопкой «Режим конструктора».
Ухватив кнопку за кружок, можно изменить ее размер, а ухватив за границу – перетащить на другое место. Чтобы отредактировать наименование кнопки, нужно кликнуть на ней правой кнопкой мыши и в контекстном меню выбрать «Объект CommandButton» > «Edit».
Добавление процедуры
Кликните дважды по кнопке из коллекции «Элементы ActiveX» левой кнопкой мыши в режиме конструктора. Это приведет к открытию модуля листа, на который вставлена кнопка, и записи шаблона процедуры «CommandButton1_Click».
Вставьте внутрь шаблона процедуры код, который будет очищать ячейки A1, B1 и C1:
Перейдите на рабочий лист и, если кнопка «Режим конструктора» затемнена, нажмите на нее, чтобы выйти из режима редактирования. После этого нажмите кнопку «CommandButton1», и она очистит ячейки, заполненные ранее нажатием кнопки «Кнопка 1».
Теперь кнопка из коллекции «Элементы управления формы» (Кнопка 1) будет заполнять ячейки диапазона «A1:C1», а кнопка из коллекции «Элементы ActiveX» (CommandButton1) очищать их.