Создание кнопки в excel

Создание кнопки в excel

Надстройка предназначена для автоматизации добавления кнопок запуска макроса на лист Excel

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

Решением стало создание этой надстройки — теперь достаточно выделить диапазон ячеек на листе Excel, нажать комбинацию клавиш типа Alt + 1, — и через мгновение на листе создаётся зелёная кнопка с названием «Запуск», расположенная точно поверх ранее выделенных ячеек. Остаётся только назначить этой кнопке макрос, щелкнув по ней правой клавишей мыши.

Пример кода VBA для создания кнопки:

Для вызова формы (где можно настроить текст и цвет будущей кнопки) предназначена комбинация клавиш Ctrl + Alt + Shift + B

Код функции добавления кнопок на лист Excel:

Вложение Размер Загрузки Последняя загрузка
Buttons.xla 49.5 КБ 36 3 года 36 недель назад
  • 20862 просмотра

Комментарии

Я не знаю, про какой VB речь, — этот код для VBA, и там все работает
(можно убедиться в этом, запустив прикрепленный к статье файл)

VB пишет что не поддерживает Set Let
в Set cb = .CommandButton1.ShapeRange
Как быть?
может подскажите

Гениально а можно скриптом добавить кнопку на панель (на ленту )? Очень интерисует этот вопрос, поскольку неоходимо внедрить один проэкт где у всех пользователей должна быть кнопка на панельке Outlook.

Примерно так это делается:

Все это мило.
Как уже готовый CommandButton1 (ActiveX) Листа "Лист1" программно вписать в ячейку "B2" того же листа (подогнать по размеру; размеры ячейки постоянно меняются, — нужно, чтобы кнопка менялась вместе с ячейкой)
Спасибо.

Списибо, настройка — высший класс!

Проверил — всё работает, файл скачивается.

Ссылка на вложение не работает.

Почему я не видел эту надстройку раньше)))
Отличная штука!
Спасибо!

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

Процедура создания

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

Способ 1: автофигура

Прежде всего, рассмотрим, как создать кнопку из набора встроенных фигур Excel.

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

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

Читайте также:  Операционная система с флешки без установки

Теперь следует добавить конкретное действие. Пусть это будет переход на другой лист при нажатии на кнопку. Для этого кликаем по ней правой кнопкой мыши. В контекстном меню, которое активируется вслед за этим, выбираем позицию «Гиперссылка».

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

Способ 2: стороннее изображение

В качестве кнопки можно также использовать сторонний рисунок.

  1. Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
  2. Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».

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

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

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

  • Открывается окно управление макросами. В нем нужно выделить тот макрос, который вы желаете применять при нажатии кнопки. Этот макрос должен быть уже записан в книге. Следует выделить его наименование и нажать на кнопку «OK».
  • Теперь при нажатии на объект будет запускаться выбранный макрос.

    Способ 3: элемент ActiveX

    Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.

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

    В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.

    После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.

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

    Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.

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

    Теперь макрос будет привязан к объекту.

    Способ 4: элементы управления формы

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

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

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

  • После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.
  • Как видим, в Экселе создать функциональную кнопку не так сложно, как это может показаться неопытному пользователю. К тому же данную процедуру можно выполнить с помощью четырех различных способов на свое усмотрение.

    Кнопка в Excel как ссылка на ячейку, какой-либо инструмент, созданный макрос значительно упрощает работу в программе. Чаще всего это графический объект с назначенным макросом или гиперссылкой. Рассмотрим, как сделать такую кнопку.

    Как сделать кнопку на листе Excel

    Суть работы: создать графический объект и назначить для него макрос или гиперссылку. Рассмотрим подробнее.

    Способы создания графического объекта:

    1. Кнопка – элемент ActiveX. Переходим на вкладку «Разработчик». Нажимаем кнопку «Вставить». Открывается меню с набором элементов для вставки. Выбираем первый элемент ActiveX – «кнопку» (в виде серого кирпичика). Теперь рисуем курсором кнопку необходимого размера.
    2. Кнопка – элемент управления формы. Снова переходим на вкладку «Разработчик». Открываем меню инструмента «Вставить». Теперь выбираем элемент «кнопка» из первой группы (такой же серый кирпичик). Рисуем кнопку. Сразу открывается окно для назначения макроса: можно сделать сразу, а можно попозже.
    3. Кнопка – автофигура. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем подходящую фигуру. Рисуем. По готовой фигуре можно щелкнуть правой кнопкой мыши и изменить оформление.
    4. Кнопка – рисунок. Переходим на вкладку «Вставка». В меню «Иллюстрации» выбираем инструмент «Рисунок». Для выбора будут предложены варианты, которые имеются на компьютере.

    Графический объект создан. Теперь нужно сделать его «рабочим».

    Как в Excel сделать кнопку с макросом

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

    Если мы использовали элемент ActiveX, то:

    Читайте также:  Опера мини для sony ericsson

    • включаем режим конструктора (он находится на вкладке «Разработчик»);
    • щелкаем два раза кнопкой мыши по созданной кнопке – откроется режим Visual Basic с автоматически созданным пустым каркасом;
    • вписываем между двумя строками команду для вызова макроса.

    Для других графических объектов макрос назначается так же. Процедура еще проще. Нужно щелкнуть правой кнопкой мыши по нарисованной кнопке или картинке и выбрать инструмент «Назначить макрос».

    Другие варианты использования кнопок

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

    Нарисуем графический объект и выделим его. На вкладке «Вставка» найдем кнопку «Гиперссылка».

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

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

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

    Sub Макрос 1()
    Range("M6").Select
    End Sub

    Точно так же можно назначить макрос диаграмме, объектам WordArt, SmartAtr.

    Как сделать кнопку сортировки в Excel для таблиц

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

    1. Вместо заголовков колонки таблицы добавим автофигуры, которые будут служить кнопками для сортировки по столбцам таблицы.
    2. В режиме Visual Basic — ALT+F11 в папке Modules вставляем новый модуль Module1. Для этого делаем по папке правый щелчок мышкой и выбираем: Insert-Module.
    3. Делаем двойной щелчок по 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 Примечание. Красным текстом отмечены отличающиеся параметры для каждого столбца.
    4. Назначаем каждой автофигуре свой макрос: для «Наименование» – Макрос1, а для «Май» – Макрос2 и т.д.

    Все теперь достаточно только кликнуть по заголовку и таблица отсортирует данные относительно определенного столбца. Для удобства столбец «Наименование» Макрос1 сортирует по возрастанию благодаря параметру Order:=xlAscending. Во всех остальных столбцах присвоены макросы (2,3,4) с параметром Order:=xlDescending, который задает тип сортировки по убыванию. Чтобы видно было, в каком месяце было больше продано товара.

    Примечание. Такие простые макросы можно создать в автоматическом режиме без программирования или без написания VBA-кода, с помощью инструмента «Запись макроса».

    Ссылка на основную публикацию
    Adblock detector