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

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

Примечание: в приведённом выше коде CommandButton1 и CommandButton2 — это имена кнопок, а A:A и C:C — два столбца, на основе которых вы включаете или отключаете кнопки. Измените их по своему усмотрению.
3. Затем сохраните и закройте окно кода. Теперь вы получите требуемый результат:
(1.) При вводе данных в столбец A кнопка 1 активируется, а кнопка 2 — деактивируется (см. снимок экрана):

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

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

(4.) Обе кнопки недоступны, если в столбцах 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

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

Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал 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 и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек