KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как включить или отключить кнопку в зависимости от значения ячейки в Excel?

АвторСяоянДата изменения

В этой статье я расскажу о нескольких способах включения или отключения кнопки в зависимости от значения ячейки на листе Excel.

Включение или отключение двух кнопок на основе данных из двух столбцов с помощью кода VBA

Включение или отключение кнопки на основе значений двух ячеек с помощью кода VBA


Включение или отключение двух кнопок на основе данных из двух столбцов с помощью кода VBA

Например, на листе есть две управляющие кнопки: если в столбце A есть данные, включается кнопка 1, а кнопка 2 отключается; если же данные содержатся в столбце C, активируется кнопка 2, а кнопка 1 — отключается. Для решения этой задачи вам поможет приведённый ниже код VBA.

1. Щёлкните правой кнопкой мыши лист, содержащий кнопки, и в контекстном меню выберите пункт Просмотреть код, см. снимок экрана:

снимок экрана с открытым редактором кода VBA в Excel

2. В окне Microsoft Visual Basic for Applications скопируйте и вставьте приведённый ниже код в пустой модуль:

Код VBA: включение или отключение двух кнопок на основе двух столбцов:

Private Sub Worksheet_Change(ByVal Target As Range)
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
        CommandButton2.Enabled = True
    End If
    If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
        CommandButton1.Enabled = True
    End If
End Sub

снимок экрана, демонстрирующий использование кода VBA для отключения двух кнопок

Примечание: в приведённом выше коде CommandButton1 и CommandButton2 — это имена кнопок, а A:A и C:C — два столбца, на основе которых вы включаете или отключаете кнопки. Измените их по своему усмотрению.

3. Затем сохраните и закройте окно кода. Теперь вы получите требуемый результат:

(1.) При вводе данных в столбец A кнопка 1 активируется, а кнопка 2 — деактивируется (см. снимок экрана):

снимок экрана, показывающий, что одна кнопка доступна, а другая отключена в зависимости от значения в столбце A

(2.) После ввода данных в столбец C кнопка 2 станет доступной, а кнопка 1 — недоступной (см. снимок экрана).

снимок экрана, показывающий, что одна кнопка доступна, а другая отключена в зависимости от значения в столбце C

(3.) Если данные присутствуют в обоих столбцах — A и C, обе кнопки активны (см. снимок экрана):

снимок экрана, показывающий, что обе кнопки доступны, когда в столбцах A и C есть данные

(4.) Обе кнопки недоступны, если в столбцах A и C отсутствуют данные (см. снимок экрана):

снимок экрана, показывающий, что обе кнопки отключены, когда в столбцах A и C отсутствуют данные


Включение или отключение кнопки на основе значений двух ячеек с помощью кода VBA

Если вы хотите включать или отключать кнопку управления в зависимости от значений двух ячеек — например, чтобы кнопка активировалась, когда значение в ячейке A1 больше значения в B1, и деактивировалась в противном случае — следующий код VBA поможет вам реализовать это.

1. Щёлкните правой кнопкой мыши лист, содержащий кнопку, и выберите в контекстном меню пункт Просмотреть код. В окне Microsoft Visual Basic for Applications скопируйте и вставьте приведённый ниже код в пустой модуль (см. снимок экрана):

Код VBA: включение или отключение кнопки на основе значений двух ячеек:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim TargetAdd As String
    Dim xTemp As Double
    On Error GoTo ExitSub
    TargetAdd = Target.Address
    CommandButton1.Enabled = False
    If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
        If Range("A1") > Range("B1") Then
            CommandButton1.Enabled = True
        End If
    End If
ExitSub:
End Sub

снимок экрана, демонстрирующий использование кода VBA для включения или отключения кнопки

Примечание: в приведённом выше коде A1 и B1 — это ячейки, значения которых используются, а CommanButton1 — имя кнопки. Замените их на свои собственные.

2. Сохраните и закройте окно кода. Теперь, если значение в ячейке A1 больше, чем в B1, кнопка будет включена; если же значение в A1 меньше, чем в B1, — отключена. См. снимок экрана:

снимок экрана, показывающий различные состояния кнопки в зависимости от значения ячейки


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек