Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

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

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

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


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

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

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

a screenshot of opening the VBA code editor in 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

a screenshot showing how to use the VBA code to disable two buttons

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

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

(1.) Если ввести данные в столбец A, кнопка 1 будет включена, а кнопка 2 отключена, см. скриншот:

a screenshot showing one button can be used and one is disabled based on value in column A

(2.) Если ввести данные в столбец C, кнопка 2 будет включена, а кнопка 1 отключена, см. скриншот:

a screenshot showing one button can be used and one is disabled based on value in column C

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

a screenshot showing both buttons can be used when column A and C have data

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

a screenshot showing both buttons are disabled when no data is in column A and 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

a screenshot showing how to use the VBA code to enable or disable a button

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

2. Затем сохраните и закройте окно кода, теперь, если значение ячейки в A1 больше, чем в B1, кнопка включена, иначе, если значение ячейки в A1 меньше, чем в B1, кнопка отключена, см. скриншот:

a screenshot showing the different status of a button based on cell value


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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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