Кнопка в Excel как ссылка на ячейку, какой-либо инструмент, созданный макрос значительно упрощает работу в программе. Чаще всего это графический объект с назначенным макросом или гиперссылкой. Рассмотрим, как сделать такую кнопку.
Как сделать кнопку на листе Excel
Суть работы: создать графический объект и назначить для него макрос или гиперссылку. Рассмотрим подробнее.
Способы создания графического объекта:
- Кнопка – элемент ActiveX. Переходим на вкладку «Разработчик». Нажимаем кнопку «Вставить». Открывается меню с набором элементов для вставки. Выбираем первый элемент ActiveX – «кнопку» (в виде серого кирпичика). Теперь рисуем курсором кнопку необходимого размера.
- Кнопка – элемент управления формы. Снова переходим на вкладку «Разработчик». Открываем меню инструмента «Вставить». Теперь выбираем элемент «кнопка» из первой группы (такой же серый кирпичик). Рисуем кнопку. Сразу открывается окно для назначения макроса: можно сделать сразу, а можно попозже.
- Кнопка – автофигура. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем подходящую фигуру. Рисуем. По готовой фигуре можно щелкнуть правой кнопкой мыши и изменить оформление.
- Кнопка – рисунок. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем инструмент «Рисунок». Для выбора будут предложены варианты, которые имеются на компьютере.
Графический объект создан. Теперь нужно сделать его «рабочим».
Как в Excel сделать кнопку с макросом
К примеру, написали макрос для выполнения определенной задачи. Чтобы запускать его, нужно каждый раз заходить в меню «Разработчик». Что неудобно. Гораздо проще создать «рабочую» кнопку.
Если мы использовали элемент ActiveX, то:
Для других графических объектов макрос назначается так же. Процедура еще проще. Нужно щелкнуть правой кнопкой мыши по нарисованной кнопке или картинке и выбрать инструмент «Назначить макрос».
Другие варианты использования кнопок
С помощью кнопок в Excel можно не только выполнять созданные макросы, но и переходить в определенную ячейку, другой документ, на другой лист. Рассмотрим подробнее.
Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».
После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.
Достаточно выбрать необходимый вариант и прописать к нему путь. Этот способ не требует написания макросов и предоставляет пользователю широкие возможности.
Подобные задачи можно выполнять и с помощью макросов. Например, чтобы при нажатии, пользователь попадал в определенную ячейку (М6), прописываем следующий код:
Sub Макрос 1()
Range(«M6»).Select
End Sub
Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.
Как сделать кнопку сортировки в Excel для таблиц
Для показательного примера создайте тестовую таблицу как на рисунке:
- Вместо заголовков колонки таблицы добавим автофигуры, которые будут служить кнопками для сортировки по столбцам таблицы.
- В режиме Visual Basic — ALT+F11 в папке Modules вставляем новый модуль Module1. Для этого делаем по папке правый щелчок мышкой и выбираем: Insert-Module.
- Делаем двойной щелчок по Module1 и вводим в него следующий код:
- Назначаем каждой автофигуре свой макрос: для «Наименование» – Макрос1, а для «Май» – Макрос2 и т.д.
Sub Макрос1()
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«A2:A6«), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
‘————————————————
Sub Макрос2()
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«B2:B6«), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
‘————————————————
Sub Макрос3(
)
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«C2:C6«), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
‘————————————————
Sub Макрос4()
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Add Key:=Range(«D2:D6«), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
Примечание. Красным текстом отмечены отличающиеся параметры для каждого столбца.
Все теперь достаточно только кликнуть по заголовку и таблица отсортирует данные относительно определенного столбца. Для удобства столбец «Наименование» Макрос1 сортирует по возрастанию благодаря параметру Order:=xlAscending. Во всех остальных столбцах присвоены макросы (2,3,4) с параметром Order:=xlDescending, который задает тип сортировки по убыванию. Чтобы видно было, в каком месяце было больше продано товара.
Скачать пример кнопки сортировки
Примечание. Такие простые макросы можно создать в автоматическом режиме без программирования или без написания VBA-кода, с помощью инструмента «Запись макроса».
Как сделать кнопку в 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 и введите код.
- Назначьте каждой фигуре индивидуальный макрос.
После выполнения этих шагов достаточно нажать по заголовку, чтобы таблица сортировала данные в отношении определенного столбца.
По рассмотренным выше принципам несложно разобраться, как в Экселе сделать кнопки выбора и решения других задач. В комментариях расскажите, какой из приведенных методов вам подошел, и как проще всего самому сделать клавишу в программе.
Отличного Вам дня!
Сортировка данных – распространенный способ упорядочивания значений от большего к меньшему, по алфавиту или другим параметрам. В Excel это можно сделать несколькими методами – обращаясь к функциям или используя пункты в меню.
Вариант 1: Быстрая сортировка в Excel
Иногда требуется максимально быстро отсортировать данные в столбце по возрастанию чисел, убыванию или по алфавиту. Для этого идеально подойдут кнопки быстрой сортировки, предназначенные как раз для выполнения поставленной задачи.
-
Выделите зажатой левой кнопкой мыши столбец с данными и вызовите меню «Редактирование».
-
Откройте список «Сортировка и фильтр» и выберите подходящий для вас вариант упорядочения. С числами это по возрастанию или убыванию, а для текста – по алфавиту и в обратную сторону.
-
Если вы выделили не все ячейки в столбце, появится окно с предложением расширить диапазон. Сделайте это, если за пределами выделения тоже находятся значения, которые нужно сортировать. Укажите сортировку в пределах данного диапазона, если за ним находятся исключительно заголовки.
-
Изменения вступают в силу сразу же. Нажмите Ctrl + Z для отмены действия, если что-то выполнено неправильно.
Обратите внимание на то, что сортировка сбивается после внесения любых изменений в клетках. Придется снова обращаться к тем же самым кнопкам, упорядочив уже новый массив с данными.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Вариант 2: Настраиваемая сортировка
Более продвинутый вариант, позволяющий задать сразу несколько условий упорядочения, – это настраиваемая сортировка, выполняющаяся через соответствующее окно. Давайте разберем сортировку по двум разным параметрам:
-
Вы можете не выделять заранее столбец, если для него задано название. Вызовите то же меню редактирования, но на этот раз нажмите по «Настраиваемая сортировка».
-
Выберите вариант с расширением или сохранением диапазона, если предварительно выделили столбец.
-
Вы увидите первый уровень сортировки, который и стоит настроить с самого начала.
-
Выберите столбец для сортировки из первого выпадающего списка.
-
Далее укажите вариант сортировки. Это может быть значение, цвет шрифта или ячейки, знаки условного форматирования.
-
В завершение укажите, в каком порядке необходимо отсортировать данные.
-
Если затем нужно применить еще один вариант сортировки, добавьте уровень и настройте его должным образом.
-
После применения вернитесь к таблице и убедитесь в том, что действия произведены верно. Учитывайте, что в этом случае сортировка тоже собьется, если вы внесете изменения в любой ячейке.
Вариант 3: Функция НАИБОЛЬШИЙ или НАИМЕНЬШИЙ
Последний вариант – единственный динамический, то есть после внесения изменений в клетках сортировка автоматически перестроится и ее последовательность будет правильной. Как вы уже поняли, для этого понадобится использовать функцию НАИБОЛЬШИЙ или НАИМЕНЬШИЙ.
-
В пустом столбце выберите первую ячейку для сортировки (желательно, чтобы она находилась параллельно ячейке с существующего столбца). Вызовите одну из указанных функций, отталкиваясь от необходимого вам типа упорядочения.
-
Далее в скобках укажите (C:C;СТРОКА(C1)), поменяв буквы на номер столбца сортировки.
-
Растяните функцию, зажав левую кнопку мыши в правой нижней точке ячейки и потянув вниз. Вы увидите, что данные указанного столбца перенесены параллельно, но соблюдена сортировка по возрастанию или убыванию. При этом исходные данные остаются в таком же хаотичном порядке, как были и раньше.
Теперь в исходном столбце вы можете вносить любые изменения для значений, а параллельные данные в отсортированном столбце поменяются в зависимости от указанных данных, но порядок все равно будет правильным.
Используйте любой из вариантов сортировки по надобности, но учитывайте, что динамически меняется только способ с применением функции. Конечно, он потребует создания дополнительного столбца, но в некоторых случаях это является оптимальным решением. Только не забудьте дать название столбцу, чтобы все пользователи таблицы понимали, для чего он нужен на листе.
Here is some code to go along w/ George’s answer of using a Table.
I immediatley ran into trouble adding tables when filters work fine. You can’t convert a «query» range to a table, but you can add a filter. See —> https://stackoverflow.com/a/40492129/5079799 & Disclaimer This is my blog where I will post updated code https://www.freesoftwareservers.com/display/FREES/Filter+Worksheet+-+Table+-+Query+-+Excel+VBA
Public Sub DatatoTable(ws As Worksheet)
Dim TblStyle As String
TblStyle = "TableStyleMedium20"
Dim TblName As String
TblName = ws.Name
Dim TblRng As Range
Set TblRng = GetUsedRange(ws)
ws.Activate
TblRng.Select
Set lo = TblRng.ListObject
If Not lo Is Nothing Then
Debug.Print "Table Found"
Else
ws.ListObjects.Add(xlSrcRange, TblRng, , xlYes).Name = TblName
Range(TblName & "[#All]").Select
ws.ListObjects(TblName).TableStyle = TblStyle
End If
End Sub
Public Function GetUsedRange(ws As Worksheet) As Range
Dim lRow As Integer, lCol As Integer, fCol As Integer, fRow As Integer
fCol = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlLeft).Column
lCol = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
fRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlDown).Row
lRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Set GetUsedRange = ws.Range(Cells(fRow, fCol), Cells(lRow, lCol))
End Function
Sub Test()
Call DatatoTable(ActiveSheet)
End Sub
Содержание
- «Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.
- «Excel» (Word) VBA кнопки.
- Рассмотрим 2 типа кнопок:
- CommandButton выглядит так:
- ToggleButton выглядит так:
- Процесс добавления кнопок на лист Excel (Word):
- Основные свойства кнопок:
- CommandButton:
- ToggleButton:
- «Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.: 2 комментария
- Добавить комментарий Отменить ответ
- Создание кнопки в Microsoft Excel
- Процедура создания
- Способ 1: автофигура
- Способ 2: стороннее изображение
- Способ 3: элемент ActiveX
- Способ 4: элементы управления формы
- Как сделать кнопку в Excel с помощью макроса и гиперссылки
- Как сделать кнопку на листе Excel
- Как в Excel сделать кнопку с макросом
- Другие варианты использования кнопок
- Как сделать кнопку сортировки в Excel для таблиц
«Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.
«Excel» (Word) VBA кнопки.
Наверняка Вам доводилось встречать файлы «Excel» (Word) с размещенными на листах различными кнопками, по нажатию на которые происходит запуск макроса или иные действия.
Хотите узнать, как размещать кнопки на листах Excel(Word)? Тогда читайте статью дальше.
Рассмотрим 2 типа кнопок:
Самая обычная кнопка, называемая CommandButton- эта кнопка нажимается кликом и запускает какое-либо действие, записанное за ней.
Вторая кнопка называется ToggleButton и является выключателем или переключателем. Она может не только запускать действия, но и сама может нести в себе информацию – обладать двумя значениями: False и true, что соответствует ее состоянию нажата или отжата.
CommandButton выглядит так:
ToggleButton выглядит так:
Процесс добавления кнопок на лист Excel (Word):
- Если у Вас в ленте не включена панель «Разработчик», ее нужно включить следующим образом:
- Кликнуть по ленте правой кнопкой мыши и в выпадающем контекстном меню выбрать пункт «Настройка ленты…»
Настройка ленты
В появившемся окне на вкладке «Настроить ленту» установить флажок («галочку») напротив пункта «Разработчик»
Настройка ленты. Разработчик
Режим конструктора Excel
При включённом режиме конструктора становиться активной кнопка с инструментами. Кликнув по кнопке с инструментами можно выбрать понравившейса Вам активный элемент: CommandButton или ToggleButton .
Инструменты в режиме конструктора
В режиме конструктора свойства кнопки можно менять и перемещать ее по листу. Вне режима конструктора кнопка просто выполняет свою функцию – нажимается.
Внимание: Если У вас не получается выделить кнопку на листе Excel, включите режим конструктора.
Основные свойства кнопок:
CommandButton:
BackColor – цвет фона кнопки.
Caption – Надпись на кнопке.
Enabled – состояние кнопки включена или отключена (активна или неактивна).
Font – шрифт надписи на кнопке.
ForeColor – Цвет надписи на кнопке.
Height — высота кнопки.
Width – ширина кнопки.
Picture – изображение на поверхности кнопки.
WordWrap – перенос текста кнопки.
ToggleButton:
Свойства практически те же что и у CommandButton, добавляются параметры:
Value – это значение кнопки False и true, нажата или отжата.
TripleState – включает или отключает тройное нажатие (три состояния переключателя)
«Excel» (Word) VBA кнопки. Как создать(добавить) кнопку на листе документа в Эксель.: 2 комментария
ярлычков листов щелкните правой кнопкой мыши ярлычок, который требуется переименовать, и выберите команду
Нарисовал входы логики 2и и выход у. Как на входы реализовать кнопки вкл 1 и выкл 0, чтобы на выходи элемента 2и было 1 или 0.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Создание кнопки в Microsoft Excel
Excel является комплексным табличным процессором, перед которым пользователи ставят самые разнообразные задачи. Одной из таких задач является создание кнопки на листе, нажатие на которую запускало бы определенный процесс. Данная проблема вполне решаема с помощью инструментария Эксель. Давайте разберемся, какими способами можно создать подобный объект в этой программе.
Процедура создания
Как правило, подобная кнопка призвана выступать в качестве ссылки, инструмента для запуска процесса, макроса и т.п. Хотя в некоторых случаях, данный объект может являться просто геометрической фигурой, и кроме визуальных целей не нести никакой пользы. Данный вариант, впрочем, встречается довольно редко.
Способ 1: автофигура
Прежде всего, рассмотрим, как создать кнопку из набора встроенных фигур Excel.
- Производим перемещение во вкладку «Вставка». Щелкаем по значку «Фигуры», который размещен на ленте в блоке инструментов «Иллюстрации». Раскрывается список всевозможных фигур. Выбираем ту фигуру, которая, как вы считаете, подойдет более всего на роль кнопки. Например, такой фигурой может быть прямоугольник со сглаженными углами.
Теперь при клике по созданному нами объекту будет осуществляться перемещение на выбранный лист документа.
Способ 2: стороннее изображение
В качестве кнопки можно также использовать сторонний рисунок.
- Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
- Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».
- Открывается окно выбора изображения. Переходим с помощью него в ту директорию жесткого диска, где расположен рисунок, который предназначен выполнять роль кнопки. Выделяем его наименование и жмем на кнопку «Вставить» внизу окна.
- После этого изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетягивая границы. Перемещаем рисунок в ту область, где желаем, чтобы размещался объект.
Теперь при нажатии на объект будет запускаться выбранный макрос.
Способ 3: элемент ActiveX
Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.
- Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».
- В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.
- После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.
- После этого кликаем по любому месту на листе, которое считаем нужным. Сразу вслед за этим там отобразится элемент. Как и в предыдущих способах корректируем его местоположение и размеры.
- Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.
- Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.
Теперь макрос будет привязан к объекту.
Способ 4: элементы управления формы
Следующий способ очень похож по технологии выполнения на предыдущий вариант. Он представляет собой добавление кнопки через элемент управления формы. Для использования этого метода также требуется включение режима разработчика.
- Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.
- Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.
- После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.
Как видим, в Экселе создать функциональную кнопку не так сложно, как это может показаться неопытному пользователю. К тому же данную процедуру можно выполнить с помощью четырех различных способов на свое усмотрение.
Источник
Как сделать кнопку в Excel с помощью макроса и гиперссылки
Кнопка в Excel как ссылка на ячейку, какой-либо инструмент, созданный макрос значительно упрощает работу в программе. Чаще всего это графический объект с назначенным макросом или гиперссылкой. Рассмотрим, как сделать такую кнопку.
Как сделать кнопку на листе Excel
Суть работы: создать графический объект и назначить для него макрос или гиперссылку. Рассмотрим подробнее.
Способы создания графического объекта:
- Кнопка – элемент ActiveX. Переходим на вкладку «Разработчик». Нажимаем кнопку «Вставить». Открывается меню с набором элементов для вставки. Выбираем первый элемент ActiveX – «кнопку» (в виде серого кирпичика). Теперь рисуем курсором кнопку необходимого размера.
- Кнопка – элемент управления формы. Снова переходим на вкладку «Разработчик». Открываем меню инструмента «Вставить». Теперь выбираем элемент «кнопка» из первой группы (такой же серый кирпичик). Рисуем кнопку. Сразу открывается окно для назначения макроса: можно сделать сразу, а можно попозже.
- Кнопка – автофигура. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем подходящую фигуру. Рисуем. По готовой фигуре можно щелкнуть правой кнопкой мыши и изменить оформление.
- Кнопка – рисунок. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем инструмент «Рисунок». Для выбора будут предложены варианты, которые имеются на компьютере.
Графический объект создан. Теперь нужно сделать его «рабочим».
Как в Excel сделать кнопку с макросом
К примеру, написали макрос для выполнения определенной задачи. Чтобы запускать его, нужно каждый раз заходить в меню «Разработчик». Что неудобно. Гораздо проще создать «рабочую» кнопку.
Если мы использовали элемент ActiveX, то:
Для других графических объектов макрос назначается так же. Процедура еще проще. Нужно щелкнуть правой кнопкой мыши по нарисованной кнопке или картинке и выбрать инструмент «Назначить макрос».
Другие варианты использования кнопок
С помощью кнопок в Excel можно не только выполнять созданные макросы, но и переходить в определенную ячейку, другой документ, на другой лист. Рассмотрим подробнее.
Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».
После нажатия открывается окно для создания связи кнопки с файлом, веб-страницей, электронной почтой, новым документом, местом в текущем документе.
Достаточно выбрать необходимый вариант и прописать к нему путь. Этот способ не требует написания макросов и предоставляет пользователю широкие возможности.
Подобные задачи можно выполнять и с помощью макросов. Например, чтобы при нажатии, пользователь попадал в определенную ячейку (М6), прописываем следующий код:
Sub Макрос 1()
Range(«M6»).Select
End Sub
Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.
Как сделать кнопку сортировки в Excel для таблиц
Для показательного примера создайте тестовую таблицу как на рисунке:
- Вместо заголовков колонки таблицы добавим автофигуры, которые будут служить кнопками для сортировки по столбцам таблицы.
- В режиме Visual Basic — ALT+F11 в папке Modules вставляем новый модуль Module1. Для этого делаем по папке правый щелчок мышкой и выбираем: Insert-Module.
- Делаем двойной щелчок по Module1 и вводим в него следующий код: Sub Макрос1()
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» A2:A6 «), _
SortOn:=xlSortOnValues, Order:= xlAscending , DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
‘————————————————
Sub Макрос2()
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» B2:B6 «), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
‘————————————————
Sub Макрос3(
) ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» C2:C6 «), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub
‘————————————————
Sub Макрос4()
ActiveWorkbook.Worksheets(«Лист1»).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(«Лист1″).Sort.SortFields.Add Key:=Range(» D2:D6 «), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(«Лист1»).Sort
.SetRange Range(«A2:D6»)
.Apply
End With
End Sub Примечание. Красным текстом отмечены отличающиеся параметры для каждого столбца. - Назначаем каждой автофигуре свой макрос: для «Наименование» – Макрос1, а для «Май» – Макрос2 и т.д.
Все теперь достаточно только кликнуть по заголовку и таблица отсортирует данные относительно определенного столбца. Для удобства столбец «Наименование» Макрос1 сортирует по возрастанию благодаря параметру Order:=xlAscending. Во всех остальных столбцах присвоены макросы (2,3,4) с параметром Order:=xlDescending, который задает тип сортировки по убыванию. Чтобы видно было, в каком месяце было больше продано товара.
Примечание. Такие простые макросы можно создать в автоматическом режиме без программирования или без написания VBA-кода, с помощью инструмента «Запись макроса».
Источник