Vba excel скрыть кнопку на листе

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

Приветствую всех любителей (ну и конечно «монстров» ексель в первую очередь) нужна ваша помощь … есть книга в которой на листе существует кнопка
запускающая макрос …. хочется что бы при определенных условиях эта кнопка ( как в форме) принимала недоступный вид (enable = false) . Заранее благодарен за любые ответы.

 

Catboyun

Пользователь

Сообщений: 1631
Регистрация: 09.05.2015

#2

18.11.2015 18:38:23

зачем так категорично?

Цитата
HotShot написал:
недоступный вид

есть же If
мож не прав…

Изменено: Catboyun18.11.2015 18:39:08

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#3

18.11.2015 18:41:50

Код
Для кнопки на листе из набора элементов управления формы
If Определенное_условие = True Then Worksheets("Лист1").CommandButton1.Enabled = False

Для ActiveX
If Определенное_условие = True Then Worksheets("Лист1").Shapes.Range(Array("CommandButton1")).Enabled = False

Изменено: Sanja18.11.2015 18:44:26

Согласие есть продукт при полном непротивлении сторон.

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

#4

18.11.2015 18:51:22

Цитата
Sanja написал:
Для кнопки на листе из набора элементов управления формыIf Определенное_условие = True Then Worksheets(«Лист1»).CommandButton1.Enabled = False Для ActiveXIf Определенное_условие = True Then Worksheets(«Лист1»).Shapes.Range(Array(«CommandButton1»)).Enabled = Fals

To Sanja:Спасибо, Сейчас буду пробовать … предпологал, что то такое … но так и не нашел свойств этого объекта … еще раз Спасибо.

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

Дв Sanja … не работает … говорит Объект не подерживает это свойство или метод … не знаю может собачка де в другом месте порылась … :((  

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#6

18.11.2015 20:13:41

Если у Вас кнопка из семейства Элементов управления форм, то там вроде нет Enabled.
Воспользуйтесь видимостью или невидимостью кнопки, например

Код
Worksheets("Лист1").Shapes.Range(Array("Button 1")).Visible = False

Или заменить кнопку на элемент ActiveX, чтобы можно было её блокировать Enabled. Ну, и соответственно макрос переместить на эту кнопку.
Или как вариант прописать условие в макросе. Чтобы при нажатии на кнопку проверялось условие сначала, и если оно не выполняется, то Exit Sub

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

#7

18.11.2015 20:26:08

Цитата
CAHO написал:
Или заменить кнопку на элемент ActiveX, чтобы можно было её блокировать Enabled. Ну, и соответственно макрос переместить на эту кнопку.

ммм… САНО если можно … вот с этого места, для «особо одаренных», если можно конечно, то на «пальцах» поясните … очень нужно … Пожалуйста

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#8

18.11.2015 20:58:34

Нажмите два раза на кнопку правой кнопкой мыши в разных местах. Там появится список, в котором появится строчка Назначить макрос.
Нажмите на него. Появится окно в котором будет указано какой именно макрос назначен на эту кнопку. В данном случае на картинке макрос называется POIUY.
Далее вставляете на лист кнопку ActiveX. Рисуете её на любом месте листа. Щёлкаете по ней двойным кликом ЛКМ, тем самым попадаете в окно VB.
В окне будет надпись

Код
Private Sub CommandButton1_Click()

End Sub

Вот между этих строчек запихиваете название вашего макроса. В данном случае POIUY.

Код
Private Sub CommandButton1_Click()
POIUY
End Sub

И всё. Теперь нажимаете на кнопку и макрос выполнится. Ту кнопку можно удалить.

Прикрепленные файлы

  • Безымянный.JPG (18.92 КБ)
  • Безымянный1.JPG (16.56 КБ)
  • Безымянный2.JPG (21.46 КБ)

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

Сано … прошу прощения, но это не совсем то, что мне хотелось … дело в том, что  есть лист выполняющий определенный ряд операций с данными по нажатию кнопки помещенной в листе. Однако если данные не удовлетворяют определенным условиям по умолчанию, то кнопка должна быть недоступна. Отсюда и родился вопрос — как сделать уже имеющуюся кнопку листа недоступной при определенных условиях … (все равно Спасибо .. это тоже думаю потом пригодится).

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

Тогда я не понял какой именно результат вы хотите получить. Пример бы……

Изменено: CAHO18.11.2015 21:31:15

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

#11

18.11.2015 21:34:12

Цитата
CAHO написал:
Тогда я не понял какой именно результат вы хотите получить. Пример бы……

Сано, ну если Вы не уйдете, то сейчас попробую прицепить пример … ну очень нужна помощь … правда

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#12

18.11.2015 21:41:27

Цитата
CAHO написал:
Пример бы……
Цитата
HotShot написал:
Сано, ну если Вы не уйдете,

У вас никаких мыслей не возникает?
Прошу не расценивать как предложенме сразу броситься делать.

Изменено: RAN18.11.2015 21:43:35

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

#13

18.11.2015 21:45:33

Вот это хочется привесить на открытие книги … лист там один, причем имеет кнопку … хочется иметь возможность менять статус кнопки (ну если это возможно конечно) …

Код
Sub fff()
If ActiveWorkbook.Sheets("Лист1").Cells(1, 1) = 1 Then
'кнопка активна и к ней приклеен макрос
Else
'ничего не происходит и кнпока становится неактивной
End If
End Sub
 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

#14

18.11.2015 21:50:35

Цитата
RAN написал:
У вас никаких мыслей не возникает?
Прошу не расценивать как предложенме сразу броситься делать.

Ну я как бы и пытаюсь выяснить… а возможно ли это? … если нет … то буду искать другие пути …

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#15

18.11.2015 22:21:22

Да уж. Мыслей нет, одни буквы.

Цитата
HotShot написал:
а возможно ли это?

1 ДА
2 НЕТ
Что выбираете?  8-0

 

HotShot

Пользователь

Сообщений: 25
Регистрация: 31.07.2014

Ну наверное, работа с кнопкой в листе невозможна … она зараза такая нигде не отображается в объектах и свойств своих не даёть …значит глупость все это…
Придется через форму всё таки действовать … гнусно .. но факт
Тем не менее Большое Спасибо всем откликнувшемся … Спасибо народ … ей богу ( хоть есть у кого спросить и не пошлють ..) !

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

#17

18.11.2015 22:26:02

Цитата
HotShot написал:
работа с кнопкой в листе невозможна

Неужто?

Цитата
HotShot написал:
она зараза такая нигде не отображается
Цитата
HotShot написал:
значит глупость все это

Факт!

 

МВТ

Пользователь

Сообщений: 1198
Регистрация: 01.02.2015

#18

18.11.2015 22:34:30

Немного запутался. А почему не сделать проще, в самом макросе прописать:

Код
if Условие не выполнено then
   MsgBox "Условие не выполнено"
   Exit  Sub
end if
 

gling

Пользователь

Сообщений: 4024
Регистрация: 01.01.1970

#19

18.11.2015 22:49:24

А у меня вопрос, чем не удовлетворяет предложенное  CAHO в ответе #6? Вы ведь пишите о том же. Этот код на кнопку. Она видна но не работает

Код
Sub fff()
If ActiveWorkbook.Sheets("Лист1").Cells(1, 1) = 1 Then
Нужный Вам Макрос 'кнопка активна и к ней приклеен макрос
Else
MsgBox "Извините Я сейчас на перекуре"
Exit Sub 'ничего не происходит [S]и кнпока становится неактивной[/S]
End If
End Sub

Изменено: gling18.11.2015 22:50:49

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

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


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

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

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

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

Код 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. См. снимок экрана ниже. И вы можете изменить их по своему усмотрению.


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

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

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

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)


Оценок пока нет. Оцените первым!

Если на листе других объектов нет (а кнопки, фигуры, диаграммы — все это объекты), можно без использования переключателей. Нажатие пары клавиш Ctrl+6 скрывает/показывает объекты листа.

‘ —————

Вариант, если есть и другие объекты.

Разместить все объекты-невидимки на одном общем (назовем его BigObject). Красивом, залитом приятным цветом :)

Показывать/скрывать объекты можно с помощью параметра ZOrder, т.е. размещая объекты под/над BigObject:

на задний план

Sub ObjHidden()
    With ActiveSheet
        .Shapes("Кнопка 4354").ZOrder msoSendToBack
        .....' другие объекты
    End With
End Sub

на передний план

Sub ObjVisible()
   ' то же самое, но ZOrder msoBringToFront
End Sub

Правильнее управлять не видимостью объектов на BigObject, а положением самого BigObject относительно присосавшихся к нему паразитов )

Sub BigHidden()
    ActiveSheet.Shapes("BigObject").ZOrder msoSendToBack
End Sub

Sub BigVisible()
    ActiveSheet.Shapes("BigObject").ZOrder msoBringToFront
End Sub

И если уж управлять, то пускай он сам собой управляет, нечего ему кнопки нподсовывать. Дадим ему в помощь одну ячейку и пускай видимостью управляет клик на BigObject.

Sub HiddenVisibleObj()
    With ActiveSheet.Shapes("BigObject")
        If Range("A1").Value = 1 Then
            .ZOrder msoBringToFront
            Range("A1").Value = 0
        Else
            .ZOrder msoSendToBack
            Range("A1").Value = 1
        End If
    End With
End Sub

Если считаете, что ячейку выделять — жирно будет, пускай своими средствами обходится, не маленький:

Sub HiddenVisibleObj()
    With ActiveSheet.Shapes("BigObject")
        If .TextFrame2.TextRange.Characters.Text = "" Then
            .ZOrder msoBringToFront
            .TextFrame2.TextRange.Characters.Text = "Все на дно!"
        Else
            .ZOrder msoSendToBack
            .TextFrame2.TextRange.Characters.Text = ""
        End If
    End With
End Sub

Скрыть кнопку до тех пор,пока не будет нажата другая кнопка.

Tweaker

Дата: Вторник, 05.08.2014, 17:48 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 2


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Здравствуйте! Есть две кнопки, как сделать так, чтобы вторая (CommandButton2_Click) кнопка не появлялась, пока не нажата первая (CommandButton1_Click)?
Поиск не дал результата.
Заранее благодарен.

 

Ответить

paramedic

Дата: Вторник, 05.08.2014, 17:53 |
Сообщение № 2

Группа: Проверенные

Ранг: Участник

Сообщений: 67


Репутация:

6

±

Замечаний:
0% ±


Excel 2007

Изначально задать размеры равные 0, затем в макросе первой кнопки вставить типа
[vba]

Код

     ActiveSheet.Shapes(«Button 2»).Select
     Selection.ShapeRange.Height = 100#
     Selection.ShapeRange.Width = 100#

[/vba]


Я не ламер — я честный чайник

 

Ответить

Tweaker

Дата: Вторник, 05.08.2014, 18:25 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 2


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Может что-то я не так пишу вот: [vba]

Код

Public Sub buttonVis
If CommandButton1_Click then Commandbutton2.Visible = True Else CommandButton2.Visible = False    
End Sub

[/vba]

Сообщение отредактировал TweakerВторник, 05.08.2014, 18:27

 

Ответить

_Boroda_

Дата: Вторник, 05.08.2014, 18:31 |
Сообщение № 4

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

[vba]

Код

Private Sub CommandButton1_Click()
CommandButton2.Visible = True
End Sub

[/vba]
А предварительно в коде или свойствах поставьте СВ2 видимость Фелс. см файл

[p.s.]Кнопка для кода VBA — решетка, а буква Fx — это код для формул.

К сообщению приложен файл:

4752752.xlsm
(19.4 Kb)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

kikim

Дата: Среда, 06.08.2014, 09:16 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 7


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

_Boroda_, Спасибо. Мне тоже пригодилось.

Сообщение отредактировал kikimСреда, 06.08.2014, 09:17

 

Ответить

Содержание

  1. Hide individual custom ribbon buttons
  2. 2 Answers 2
  3. Disable button using Excel VBA
  4. 4 Answers 4
  5. Hide commandbutton based on cell value excel vba
  6. 4 Answers 4
  7. Hide close [X] button on excel vba userform for my progress bar
  8. 6 Answers 6
  9. Vba excel button hide
  10. Как скрыть или показать командную кнопку на основе указанного значения ячейки в Excel?

Hide individual custom ribbon buttons

I have an custom excel ribbon and an excel add-in that contains a class which is instantiated once on opening a workbook. Based on some attributes of the class I need certain buttons from the custom ribbon (all in the same tab) to be hidden.

My custom ribbon is:

I then have the following VBA macros in a module to load the custom ribbon and/or disable it:

In my specific workbook that the ribbon should load for I have a hidden sheet from which my class module class reads a value for each button to determine whether it should show or not. Once I’ve read this value how can I hide an individual button? All the examples I’ve found only seem to work for tabs. Could I pass the ribbonUI to the class and loop through each control? I haven’t been able to find a method for doing this. Thanks for any help!

2 Answers 2

You need to customize the ribbon at run-time.

Check my question (and answer) here although my problem was in PPT VBA, I did my testing in Excel and the solution to your problem should be very similar.

Instead of assigning a boolean true or false to the visible property of each button, you need another callback so that when this tab is loaded, the procedure checks whether your class object has been instantiated, and then sets true or false as necessary.

For example in my PPT part of my XML is like:

So instead of using the Visible property of the group, I use a custom attribute getVisible which calls a macro VisibleGroup . There are some nuances that I ran in to, like, I could not use the same callback/macro on different types of controls, hence why I have two callbacks ( EnabledControl and VisibleGroup ) both of which do exactly the same thing. I don’t know why, and this part of development does not seem to be very well-documented, unfortunately.

Check my code to see all the places I put breakpoints while I was testing. I had to do quite a bit of debugging to get it to work. Put breakpoints in every procedure and step through your code. It is a pain in the ass, but if you’ve gotten this far, I’m sure you will be able to make it work.

UPDATE

I did a brief test on my PPT Add-In. Functionally this is similar so it is easier for me to test than trying to recreate everything in Excel.

My add-in has it’s own Menu group, and some custom buttons. The relevant button line is this:

The full XML for your reference:

The EnableControl routine looks like this (I deliberately uncomment the MsgBox so that I can break & enter the code, you may want to do this just to debug and ensure that the proper Boolean val is being passed to the control):

You will need to modify the logic which assigns the returnedVal to suit your purposes. But basically this macro should fire every time that the button is about to be shown, so in my case it fires every time I open the Menu that contains it.

Источник

Disable button using Excel VBA

I want to disable a button with VBA code like this:

My button name is correct, because it doesn’t give me an error message, so the code is completely run through.

After this script I can click on that button and the assigned macro runs. Nothing should happen when I click on it.

4 Answers 4

Disabling a Form button (not talking ActiveX here) does not prevent the assigned macro to run and does not gray out the button. The code below does exactly that based on the version got from Excel. If you did not assign a name to your Form button, you can also use (Buttons(1).

If Excel version = 16 or higher the button is «enabled» by making it black and assigning my macro, else the button is «disabled» by making it gray and assigning no action to it.

Code can e.g. reside in Private Sub Worksheet_Activate() within sheet «Test Sheet»

Probably you are using ActiveX Button. Try this:

EDIT: ______________________________________________________________________________

For a Form control Button the following line

disables the button i.e. click event will no longer work but the appearance of the button does not change which gives an impression that the button is still active. So work around for that is to change the color of the text of the button as follows:

And to bring back button to its original state write:

Источник

Hide commandbutton based on cell value excel vba

I am trying to hide a commandbutton based on a specific cell value. I have looked up several codes and pasted them in excel (in the vba form when right clicking the sheet and selecting «view code»).

What am I doing wrong?

Here’s one of the codes I’ve tried:

4 Answers 4

Make sure you enable events before using your code. Also, you must place your code in Worksheet module, not in regular module. To enable events, use this simple sub.

please run this first:

and then your Code will run perfectly:

Your code is confusing, for a number of reasons.

Range , when it’s not qualified with a Worksheet object, implicitly refers to the ActiveSheet , i.e. ActiveSheet.Range . but when it’s in a worksheet’s code-behind, it implicitly refers to that worksheet’s Range property, i.e. Me.Range . Because the meaning of an unqualified Range call depends on context, it’s best to always qualify it with an explicit Worksheet object.

So if you’re in the code-behind module for Sheet1 , then Range(«A1») is equivalent to Sheet1.Range(«A1») , or even better, Me.Range(«A1») .

The two conditions will be evaluated every time, but only one of them needs to be: it’s inefficient.

Truth is, you don’t need to assign a Boolean literal — a Boolean expression is much cleaner.

Источник

Hide close [X] button on excel vba userform for my progress bar

I created a userform to show a progress bar when the macro is still importing sheets

The problem is the user can press the red [X] button that will close and interrupt the processing done.

Is there a way to hide this red button of doom so that potential users don’t have any confusing buttons to click while it runs.

I have tried this

and I used this on userform_initialize

I am getting this error message

this code was taken from here. I don’t know what I’m doing wrong and I already removed the comments. This is the simplest code that I found so I would like to integrate it to my userform. Any help is appreciated.

6 Answers 6

Below is a routine that you can call like this:

or from within your form:

Here’s the code you’ll need:

You can work it out from the following snippets:

Select the cmdClose button On the Menu bar, choose View | Code Where the cursor is flashing, enter the following code:

On the Menu bar, choose View | Object , to return to the UserForm.

To allow users to close the form by pressing the Esc key:

Select the cmdClose button In the Properties window, change the Cancel property to True

To prevent users from closing the form by clicking the X button

When the UserForm is opened, there is an X at the top right. In addition to using the Close Form button, people will be able to close the form by using the X. If you want to prevent that, follow these steps.

Right-click on an empty part of the UserForm Choose View | Code From the Procedure dropdown, at the top right, choose QueryClose

Where the cursor is flashing, paste the highlighted code from the following sample

On the Menu bar, choose View | Object , to return to the UserForm. Now, if someone clicks the X in the UserForm, they’ll see your message.

Источник

Vba excel button hide

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

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

Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!

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

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

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

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

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

Источник

Понравилась статья? Поделить с друзьями:
  • Vba excel скрыть вкладки
  • Vba excel скрыть userform
  • Vba excel сколько листов в книге
  • Vba excel сколько дней в месяце
  • Vba excel склонение по падежам