Как создать кнопку в Excel: 5 способов для автоматизации задач

Кнопки в Microsoft Excel — это мощный инструмент для автоматизации рутинных операций. Они позволяют запускать макросы, открывать другие файлы, переходить на веб-страницы или просто упрощать навигацию по большому документу. Без них многие задачи требовали бы десятков кликов или ручного ввода команд. Но как добавить такую кнопку, если вы никогда этого не делали?

В этой статье мы разберём все доступные способы создания кнопок — от простейших гиперссылок до программируемых элементов управления. Вы узнаете, как вставить кнопку в Excel 2010-2019, Excel 365 и даже в Excel Online (где возможности ограничены). Особое внимание уделим макросам и VBA, без которых многие кнопки теряют смысл. А ещё покажем, как сделать кнопку красивой и функциональной, чтобы она не только работала, но и органично вписывалась в ваш документ.

Неважно, нужна ли вам кнопка для печати отчёта, отправки данных по email или просто для быстрого перехода между листами — здесь вы найдёте решение. И да, мы не будем ограничиваться стандартными серыми кнопками: научим настраивать их цвет, размер и даже добавлять иконки.

1. Простейший способ: кнопка как гиперссылка

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

Как это сделать:

  • 📌 Выделите ячейку, где должна быть кнопка (или введите текст, например, "На главную").
  • 🔗 Перейдите на вкладку Вставка → Гиперссылка (или нажмите Ctrl + K).
  • 🌐 В открывшемся окне выберите:
    • 📄 Место в документе — для перехода на другой лист или ячейку;
    • 📂 Файл или веб-страница — для открытия внешнего ресурса;
    • ✉️ Электронная почта — для отправки письма.
  • 🎨 В поле "Текст" введите название кнопки (например, "Открыть отчёт").

Чтобы гиперссылка выглядела как настоящая кнопка, отформатируйте ячейку:

  1. Выделите ячейку → Главная → Формат → Формат ячеек.
  2. На вкладке Граница добавьте рамку и выберите цвет.
  3. На вкладке Заливка установите фон (например, синий для кликабельных элементов).
⚠️ Внимание: Гиперссылки в Excel не поддерживают выполнение макросов. Если вам нужно запускать код VBA, используйте методы из следующих разделов.

2. Кнопка для запуска макроса (метод "Формы")

Если вам нужна кнопка, которая будет выполнять макрос (например, сортировать данные, отправлять email или обновлять графики), используйте элементы управления из коллекции Forms. Этот способ работает в Excel 2010-2019 и Excel 365.

Пошаговая инструкция:

  1. Убедитесь, что вкладка Разработчик отображается на ленте. Если её нет:
    Файл → Параметры → Настройка ленты → Поставить галочку "Разработчик"
  2. Перейдите на вкладку Разработчик → Вставить → Элементы управления формы.
  3. Выберите Кнопка (Button) — курсор превратится в крестик.
  4. Нарисуйте кнопку на листе, зажав левую кнопку мыши.
  5. В открывшемся окне выберите макрос из списка (или создайте новый, нажав Записать).

Чтобы изменить текст кнопки, кликните по ней правой кнопкой → Изменить текст. Для изменения размера или положения просто перетащите границы.

Действие Сочетание клавиш Примечание
Включить режим конструктора Alt + F11 (открыть редактор VBA), затем F5 Позволяет редактировать кнопку без запуска макроса
Назначить макрос ПКМ по кнопке → Назначить макрос Макрос должен быть записан заранее
Удалить кнопку Delete (в режиме конструктора) В обычном режиме кнопка удаляется как объект
⚠️ Внимание: Кнопки форм не поддерживаются в Excel Online. Если вы работаете в браузере, используйте метод с гиперссылками или элементы ActiveX (см. следующий раздел).

Включить вкладку "Разработчик"|Записать макрос заранее|Сохранить файл как .xlsm (с поддержкой макросов)|Проверить, что макросы разрешены в настройках безопасности-->

3. Продвинутый метод: элементы ActiveX

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

Как добавить кнопку ActiveX:

  1. Перейдите на вкладку Разработчик → Вставить → Элементы ActiveX.
  2. Выберите CommandButton (кнопка команды).
  3. Нарисуйте кнопку на листе.
  4. Кликните правой кнопкой по кнопке → Свойства (Properties).
  5. В окне свойств настройте:
    • 🎨 Caption — текст на кнопке;
    • 🖌️ BackColor — цвет фона;
    • 📏 Font — шрифт и размер;
    • 🔗 TakeFocusOnClick — реакция на клик.
  • Дважды кликните по кнопке, чтобы открыть редактор VBA и написать код для события Click.
  • Пример кода для кнопки, которая показывает сообщение:

    Private Sub CommandButton1_Click()
    

    MsgBox "Данные успешно обработаны!", vbInformation, "Готово"

    End Sub

    Элементы ActiveX поддерживают события (например, MouseMove или KeyPress), что позволяет создавать более сложные интерактивные элементы. Однако они могут конфликтовать с некоторыми надстройками Excel.

    Чем отличаются кнопки Forms и ActiveX?

    Кнопки Forms проще в использовании, но имеют ограниченные настройки внешнего вида. Они работают во всех версиях Excel (кроме Online) и не требуют дополнительных разрешений.



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

    4. Кнопка с изображением или иконкой

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

    Способы добавления изображений:

    • 🖼️ Для кнопок Forms:
      1. Создайте кнопку (см. раздел 2).
      2. Кликните правой кнопкой → Формат объекта.
      3. На вкладке Цвета и линии выберите Заливка → Рисунок.
  • 🎨 Для элементов ActiveX:
    1. Добавьте кнопку ActiveX (см. раздел 3).
    2. Откройте её Свойства (Properties).
    3. Найдите свойство Picture и загрузите изображение.
    4. 🔄 Обходной путь: Вставьте изображение поверх кнопки и сгруппируйте объекты (Формат → Группировать).

    Где взять иконки для кнопок:

    • 📥 Бесплатные коллекции: Icons8, Font Awesome;
    • 🖥️ Встроенные в Windows: C:\Windows\System32\imageres.dll (откройте через Paint);
    • 📊 Иконки Excel: скопируйте из вкладки Вставка → Иконки (доступно в Excel 365).
    • ⚠️ Внимание: Изображения на кнопках не масштабируются автоматически. Если картинка слишком большая, кнопка может стать некликабельной. Оптимальный размер иконки — 32×32 или 64×64 пикселей.
      📊 Какой тип кнопок вы используете чаще?
      Гиперссылки
      Кнопки Forms
      Элементы ActiveX
      Кнопки с макросами
      Не использую кнопки

      5. Кнопки для печати, фильтрации и других стандартных действий

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

      Примеры полезных кнопок:

      Действие Код макроса Где применимо
      Печать активного листа ActiveSheet.PrintOut Отчёты, таблицы для распечатки
      Применить автофильтр ActiveSheet.Range("A1").AutoFilter Большие таблицы с данными
      Сортировка по столбцу A ActiveSheet.Range("A1").CurrentRegion.Sort Key1:=Range("A2") Таблицы с заголовками
      Скопировать выделенное в буфер Selection.Copy Работа с данными

      Как назначить стандартную команду кнопке:

      1. Создайте кнопку (методом из раздела 2 или 3).
      2. Назначьте ей макрос с одной из команд выше.
      3. Отформатируйте кнопку (например, добавьте иконку принтера).

      Единственный способ создать кнопку для стандартных действий в Excel Online — использовать гиперссылки с формулами. Например, ссылка вида =HYPERLINK("#"&CELL("address"),"Печать") позволит переходить к ячейке, но не запустит печать.

      6. Создание выпадающих кнопок (меню)

      Если вам нужно, чтобы одна кнопка выполняла несколько действий (например, печать, сохранение и отправка email), используйте выпадающие меню. В Excel это реализуется через элементы ActiveX ComboBox или ListBox, но проще создать кнопку с подменю через VBA.

      Пример кода для кнопки с выпадающим списком:

      Private Sub CommandButton1_Click()
      

      Dim answer As Variant

      answer = Application.InputBox( _

      "Выберите действие:", _

      "Меню", _

      "1. Печать\n2. Сохранить\n3. Отправить email", _

      Type:=2) ' Type 2 = список

      Select Case answer

      Case "1. Печать"

      ActiveSheet.PrintOut

      Case "2. Сохранить"

      ActiveWorkbook.Save

      Case "3. Отправить email"

      ' Код для отправки email

      End Select

      End Sub

      Альтернативный способ — использовать фигуры и гиперссылки:

      1. Вставьте фигуру (например, прямоугольник) через Вставка → Фигуры.
      2. Добавьте текст (например, "Меню").
      3. Создайте скрытые ячейки с гиперссылками на действия (например, ячейка A1 ссылается на макрос печати).
      4. Настройте условное форматирование, чтобы ссылки появлялись при наведении на "Меню".
    ⚠️ Внимание: Выпадающие меню на основе VBA не работают в Excel Online. Для веб-версии используйте отдельные кнопки или гиперссылки.

    7. Оформление и дизайн кнопок: советы от профессионалов

    Кнопка должна не только работать, но и выглядеть профессионально. Вот несколько правил дизайна:

    • 🎨 Цвет: Используйте корпоративные цвета или стандартные сочетания:
      • 🟢 Зелёный — для действий "Сохранить", "Подтвердить";
      • 🔴 Красный — для "Удалить", "Отмена";
      • 🔵 Синий — для нейтральных действий ("Печать", "Экспорт").
    • 📏 Размер: Оптимальная высота — 20-30 пикселей, ширина — по содержимому + 10-15 пикселей с каждой стороны.
    • 🖱️ Наведение: Добавьте эффект при наведении мыши (изменение цвета) через VBA:
      Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      

      CommandButton1.BackColor = RGB(200, 200, 200) ' Серый при наведении

      End Sub

    • 🔤 Текст: Используйте короткие надписи (1-2 слова) и шрифт Calibri или Arial размером 10-12 пт.
    • Пример профессионально оформленной кнопки:

      Пример кнопки Печать в Excel

      Чтобы кнопки не "разъезжались" при изменении размера ячеек, закрепите их положение:

      1. Кликните по кнопке правой кнопкой → Формат объекта.
      2. На вкладке Свойства выберите Не перемещать и не изменять размер.

      FAQ: Частые вопросы о кнопках в Excel

      ❓ Почему моя кнопка не работает после сохранения файла?

      Скорее всего, вы сохранили файл в формате .xlsx, который не поддерживает макросы. Сохраните как .xlsm (Файл → Сохранить как → Тип файла: Книга Excel с поддержкой макросов).

      ❓ Можно ли создать кнопку в Excel Online?

      В Excel Online нет возможности добавлять кнопки с макросами или элементы ActiveX. Альтернативы:

      • 🔗 Гиперссылки (см. раздел 1);
      • 🖼️ Фигуры с назначенными ссылками;
      • 📊 Используйте Power Automate для автоматизации (требует подписки Microsoft 365).

      ❓ Как сделать кнопку, которая открывает другой файл Excel?

      Используйте макрос:

      Workbooks.Open "C:\Путь\к\файлу.xlsx"

      или гиперссылку (если файл в той же папке):

      =HYPERLINK("[Другой_файл.xlsx]Лист1!A1", "Открыть файл")

      ❓ Почему кнопка ActiveX не отображается при открытии файла?

      Возможные причины:

      • 🔒 Макросы отключены (включите в Файл → Параметры → Центр управления безопасностью);
      • 🖥️ Файл открыт в Excel Online или на Mac (не все элементы ActiveX поддерживаются);
      • 🛠️ Повреждение файла (попробуйте открыть на другом ПК).

      ❓ Можно ли добавить кнопку, которая отправляет данные по email?

      Да, с помощью VBA. Пример кода для отправки активного листа:

      Sub SendEmail()
      

      Dim OutApp As Object, OutMail As Object

      Set OutApp = CreateObject("Outlook.Application")

      Set OutMail = OutApp.CreateItem(0)

      With OutMail

      .To = "example@email.com"

      .Subject = "Отчёт из Excel"

      .Body = "Данные в приложении."

      .Attachments.Add ActiveWorkbook.FullName

      .Display ' или .Send для автоматической отправки

      End With

      Set OutMail = Nothing

      Set OutApp = Nothing

      End Sub

      ⚠️ Внимание: Для работы этого кода должен быть установлен Microsoft Outlook.