Note: The other languages of the website are Google-translated. Back to English

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

Предположим, вы используете командную кнопку для запуска сценария VBA на своем листе. Когда сценарий VBA в некоторых случаях не используется, вам нужно скрыть командную кнопку, а не отображать ее на листе. И отобразите его снова, когда потребуется сценарий VBA. В этой статье говорится о скрытии или отображении кнопки Command на основе указанного значения ячейки в Excel. Пожалуйста, сделайте следующее.

Скрыть или отобразить командную кнопку на основе указанного значения ячейки с кодом VBA


Скрыть или отобразить командную кнопку на основе указанного значения ячейки с кодом VBA

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

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

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

Код VBA: скрыть или отобразить командную кнопку на основе указанного значения ячейки

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Cells(1, 1).Value <> "1" Then
        Me.CommandButton1.Visible = True
    Else
        Me.CommandButton1.Visible = False
    End If
    Application.ScreenUpdating = True
End Sub

Внимание: в коде, Ячейки (1, 1), 1 и CommandButton1 указывают, что CommandButton1 будет скрыт, если ячейка A1 содержит число 1, и отображается, если ячейка A1 содержит любые другие значения, кроме числа 1. См. снимок экрана ниже. И вы можете изменить их по своему усмотрению.


Статьи по теме:


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

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (13)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Hola que tal, tengo un boton con macro, que me devuelve a una hoja 'меню', pero no quiero que ese boton aparezca en la hoja menu como le puedo hacer?'


Ура.
Этот комментарий был сведен к минимуму модератором на сайте
Хола Себастия,

Dónde debería sostrarse?
- Uno es la hoja de menu
- El botón está integrado en una hoja diferente, нет?
Этот комментарий был сведен к минимуму модератором на сайте
Я вставил этот код и ввел имя своей кнопки (Готово), сослался на эталонную ячейку (P11–16, 11), но каждый раз, когда я вношу изменения в эталонную ячейку (P11), я получаю ошибку компиляции, и она выделяет Раздел кода «.Finish», по-видимому, означающий, что имя кнопки, которое я ввел «Готово», не найдено на листе. Я подтвердил как в раскрывающемся списке слева от строки формул, так и в области «определить имя» на вкладке «Формула», что имя моей кнопки на самом деле «Готово», но оно все еще не работает.


Любая помощь?
Этот комментарий был сведен к минимуму модератором на сайте
Привет Брайс,
Я изменил имя кнопки на «Готово» на своем листе, и она работает хорошо, без каких-либо ошибок.
Не возражаете ли вы протестировать код в новой пустой книге?
Спасибо за ваш комментарий.
Этот комментарий был сведен к минимуму модератором на сайте
Используйте кнопку управления ActiveX.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте

Я новичок в VBA, я поместил этот код в новый Excel. Один CommnadButton на Sheet1, но код не работает.

Должен ли я что-то делать перед этим?


Спасибо заранее
Этот комментарий был сведен к минимуму модератором на сайте
Private Sub Worksheet_Change (ByVal Target As Range)
Приложение.ScreenUpdating = False
Если Ячейки(1, 1).Значение <> "1" Тогда
Me.Shapes("Кнопка 1").Visible = True
Еще
Me.Shapes("Кнопка 1") End If
Application.ScreenUpdating = True
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
По какой-то причине после перехода кнопки из невидимой обратно в видимую кнопка больше не работает. Если я нажму alt + F11 в коде, выберу подпрограмму XXX() и запущу F5, код будет работать для моего макроса. Почему это больше не работает, когда я нажимаю кнопку? в свойствах "Включено" установлено значение true
Этот комментарий был сведен к минимуму модератором на сайте
Hola, el codigo esta bien? es que no me funciona y ya minde varias cosas para que funcione y nana, ayuda por favour es que lo necesito para algo Importante: c
Этот комментарий был сведен к минимуму модератором на сайте
Привет!
Alguien sabe como puedo hacer para que el boton compando aparezca o desaparezca segun información de otra hoja?
El ejemplo está muy bueno, pero las celdas son de la misma hoja donde esta el boton. Yo necesito ocultar ип ботон Segun информация де Otra hoja.

Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Предположим, что значение, используемое для отображения или скрытия командной кнопки, находится в A1 of Sheet1, а кнопка управления находится в Sheet2. Пожалуйста, откройте Sheet1, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код. В открытии Microsoft Visual Basic для приложений скопируйте следующий код VBA в окно Sheet1 (Code), а затем нажмите кнопку другой + F11 клавиши, чтобы закрыть его.
Внимание: Пожалуйста, измените ячейки(1, 1), "1, а такжеSheet2"как вам нужно.
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Cells(1, 1).Value <> "1" Then
        Sheets("Sheet2").CommandButton1.Visible = True
    Else
        Sheets("Sheet2").CommandButton1.Visible = False
    End If
    Application.ScreenUpdating = True
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Der Code funktioniert wie er ist prima.
Ich würde nur gerne den Button bei jeder 0 und leeren Zelle ausblenden lassen. Irgendwie bekomme ich es nicht hin. Es funktioniert immer nur entweder oder. Könnten Sie mir bitte weiter helfen danke
Этот комментарий был сведен к минимуму модератором на сайте
Привет Christoph,

Извините, я не понимаю, что вы имеете в виду. Для ясности прикрепите образец файла или снимок экрана с вашими данными и желаемыми результатами.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL