Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2011, 21:31   #1
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию Кнопка макроса неактивна

Добрый вечер! Можно как-то сделать кнопку макроса неактивной, если в ячейке F2 положительное число, и активной при отрицательном значении этой ячейки? Полагаю, что при помощи функции, но как привязать ее к кнопке или коду? Спасибо.
vostok вне форума Ответить с цитированием
Старый 12.10.2011, 22:05   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение
Вложения
Тип файла: rar КнигаR722.rar (9.9 Кб, 35 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 12.10.2011, 22:45   #3
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

Игорь, спасибо, но я макросы назначаю на кнопки, которые из "Формы", а не "Элементы управления", там типа "кнопка3_Щелкнуть". Как ее обозвать в Вашем коде?
vostok вне форума Ответить с цитированием
Старый 12.10.2011, 23:38   #4
Пименов Александр
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 222
По умолчанию

1. В форме обзывать кнопки можно по разному. например btn_Удалить_гипперссылку.
2. Обращение к ней через объект UserForm Например: formНайти_гипперссылку.btn_Удалить_ гипперссылку, а далее уже использовать свойства и методы кнопки...........
Пименов Александр вне форума Ответить с цитированием
Старый 12.10.2011, 23:53   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от vostok Посмотреть сообщение
я макросы назначаю на кнопки, которые из "Формы", а не "Элементы управления", там типа "кнопка3_Щелкнуть". Как ее обозвать в Вашем коде?
Запишите макрорекордером действие - назначение макроса такой кнопке.
ИМХО сделать такую кнопку неактивной нельзя. Если ей не назначен макрос, при клике она будет выбираться. Лучше в макросе кнопки проверять знак ячейки, и если ячейка положительна, то ничего не делать.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 13.10.2011, 12:16   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Неактивной нельзя, а скрыть можно. А если под этой кнопкой поместить рисунок неактивной кнопки, то...
Вот, на коде Игоря (имя поставьте своё, это МОЯ кнопка скрывается):
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address <> "$F$2" Then Exit Sub
  CommandButton1.Enabled = [f2] < 0
  ActiveSheet.Shapes("Button 3").Visible = [f2] < 0
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.10.2011, 12:26   #7
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

Это неплохо придумано, но как? в макросе проверить полярность ячейки? Макрорекордер лишь тупо пишет нажатия клавиш, сопоставить значения как в функции "если" я не могу. Будьте добры, черкните макрос, в котором определяется полярность, а я эту часть пристрою к своему макросу.
Hugo121, это я писал для Казанского, а по коду Игоря - у меня нет на странице коммандбаттонов, как я могу вставить этот код?

Последний раз редактировалось vostok; 13.10.2011 в 12:50. Причина: новый ответ
vostok вне форума Ответить с цитированием
Старый 13.10.2011, 12:58   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

vostok, намёк не поняли...
Я ещё пока ответа Игоря не было, хотел написать - давайте свою кнопку!
Пишу сейчас
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.10.2011, 14:10   #9
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

vostok
Первой строкой в макросе
Код:
if [F2]>=0 then exit sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 13.10.2011, 19:19   #10
vostok
Форумчанин
 
Регистрация: 29.04.2009
Сообщений: 119
По умолчанию

Казанский, спасибо огромное! Изящное решение и вполне меня устраивает. Для IgorGo и Hugo121: я все-таки не владею кодами в листах, не понимаю их, мне как-то любимее макросы в модулях, исполняемые по нажатию на кнопку (поскольку электрик по жизни ). Спасибо всем откликнувшимся, извините за дурацкие вопросы.
vostok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кнопка Nortym Паскаль, Turbo Pascal, PascalABC.NET 1 23.04.2011 22:56
Ссылка на сайте неактивна, вод код khorolpavel HTML и CSS 4 22.11.2010 15:15
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43
Настраиваемая кнопка макроса в Excel 2007 ZORRO2005 Microsoft Office Excel 0 24.11.2008 00:42