Перейти к основному содержанию
 

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

Автор: Сяоян Последнее изменение: 2024 июля 08 г.

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

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

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


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

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

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

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

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

Код 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 для отключения двух кнопок

Внимание: В приведенном выше коде КомандаКнопка1 и КомандаКнопка2 названия кнопок, 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 для приложений окна, скопируйте и вставьте приведенный ниже код в пустой модуль, см. снимок экрана:

Код 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 - значения ячеек, которые вы используете, Командная кнопка1 это имя кнопки, измените их на свое.

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

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


Лучшие инструменты для офисной работы

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

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


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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