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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2012, 02:58   #1
subluna
Пользователь
 
Регистрация: 08.01.2012
Сообщений: 14
По умолчанию !!HLP_опять рекурсия_HLP!!

делала красоту. Начальство хочет, что бы раскраска кнопок запускалась при переходе на лист с этими кнопками. Добавила в модуль листа вызов процедуры
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
actList = ActiveSheet.Name
Call Raskras(actList)
End Sub
не хотят по даблклик, хотят при активации Листа, ну соответственно рекурсия получается у меня.
Что же делать!! Переписывать фсе заново прямо грустно даже (хотя код конечно надо оптимизировать и мусор поубирать)
Может есть какой-то метод что бы объекту Лист отключать/включать возможность выполнения процедуры листа?? HELPPPP!!!
з.ы. Hugo121 очень была полезна твоя помощи и поддержка) вернулась из командировки и тут опять наводить красоту в этой задаче нужно.

Последний раз редактировалось subluna; 27.01.2012 в 03:06.
subluna вне форума Ответить с цитированием
Старый 27.01.2012, 05:54   #2
subluna
Пользователь
 
Регистрация: 08.01.2012
Сообщений: 14
По умолчанию

Или как результат процедуры Raskras() переменную pPr передать в модуль листа и там уже красить?
subluna вне форума Ответить с цитированием
Старый 27.01.2012, 10:31   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> хотят при активации Листа

Используйте Private Sub Worksheet_Activate() листа или
Private Sub Workbook_SheetActivate(ByVal Sh As Object) книги.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 27.01.2012, 11:30   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно такой код в эти два листа поставить:

Код:
Private Sub Worksheet_Activate()
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
        Call Raskras(ActiveSheet.Name)
        [D5].Select
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.01.2012, 11:36   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Почему бы не передавать в процедуру ссылку на лист вместо имени?
Код:
Raskras Me
это прям на человеческом языке
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 29.01.2012, 12:26   #6
subluna
Пользователь
 
Регистрация: 08.01.2012
Сообщений: 14
По умолчанию

Спасибо!!! Искренне благодарна))
subluna вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск