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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 11:16   #1
Uralmaster
Форумчанин
 
Регистрация: 21.01.2011
Сообщений: 118
По умолчанию Защита листа с задержкой по срабатыванию

Защита листа с задержкой по времени - можно это как-то реализовать или нет?

В общем на листе 2 макроса - оба с защитой:
1.Координатное выделение
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next 'если вдруг пароль не тот 
    Application.ScreenUpdating = False 'чтоб не моргало
        Worksheets("Мероприятия").Unprotect Password:="***"

   ****************************************************
   ****************************************************
   
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True, Password:="***"
End If
End Sub
2. Копирование формул в новой строке из предыдущей по условию появления значения в ячейке
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.ScreenUpdating = False 'чтоб не моргало
    ActiveSheet.Unprotect
    ************************************************
    ************************************************
    ************************************************
    'ActiveSheet.Unprotect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        ', AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True, Password:="***"
End If
End Sub
Проблема такая что 1 макрос для координатного выделения и при его выполнении 2-й макрос не может исполнится-ругается на защиту ячеек почему то хотя вначале защиту должен снимать. Даже подстраховался - снимаю защиту и в начале и в конце выполнения 2 макроса - не помогло - видимо координатное выделение (макрос 1)быстрее работает или чтото еще ....

Возможен ли такой вариант чтобы постановка защиты на лист в конце выполнения макроса 1 происходила с задержкой в 2-3 сек чтоб 2 макрос успел сработать - как вариант--возможно ли такое ?
Или другие варианты выхода из ситуации есть?

Я макросы полностью не стал выкладывать - длинные но если надо выложу

Последний раз редактировалось Uralmaster; 02.02.2011 в 11:28.
Uralmaster вне форума Ответить с цитированием
Старый 02.02.2011, 12:25   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

можно
Application.Ontime
но я бы, как в известной пословице, 7 раз подумал, прежде чем с этим связываться...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
защита листа clown86 Microsoft Office Excel 12 26.11.2010 15:21
Защита листа и макросы NoLL Microsoft Office Excel 4 11.11.2010 18:45
Защита листа Alekcey Microsoft Office Excel 3 10.11.2010 06:06
Защита листа Mrs2 Microsoft Office Excel 2 05.11.2009 05:19
Защита листа! Marsik Microsoft Office Excel 2 27.03.2008 18:19