![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
Уважаемы форумчане!
Подскажите плиз, почему не отрабатывает макрос защиты ячейки по условию. Суть в следующем, при определенном условии - "Да" или "Нет", соответственно защищать или снимать защиту с соседней ячейки. Макрос: Private Sub Worksheet_Change(ByVal Target As Range) Dim lsRow&, iAddress$, r As Range If Target.Cells.Count > 1 Then Exit Sub lsRow = Cells(Rows.Count, 5).End(xlUp).Row If Not Intersect(Target, Range("A2:A" & lsRow)) Is Nothing Then If Not IsEmpty(Cells(Target.Row, 1)) Then If Cells(Target.Row, 1) = "Äà" Then ActiveCell.Offset(0, 1).Range("A1").Select Selection.Locked = True Selection.FormulaHidden = False ActiveSheet.Protect Else ActiveCell.Offset(0, 1).Range("A1").Select ActiveSheet.Unprotect Selection.Locked = False Selection.FormulaHidden = False ActiveSheet.Protect End If End If End If End Sub |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Потому, что Вы код поместили в общий модуль, а надо в модуль листа. И селекты в нем лишние, и не только. Можно так, в модуль книги:
Код:
Код:
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
Большое спасибо kuklp!
А что до лишних select'ов, так это у меня просто фрагмент большого куска. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
И еще, к сожалению не работает Ваша рекомендация. Идея состоит в том, чтобы защищать только соседнюю ячейку напротив которой стоит "Да".
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
У меня все работает. Выложите файл, с моим кодом, где у Вас не работает, будем выпрямлять руки.
![]()
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
Всем спасибо!!!! Тема снята, заработало., но я все таки своим воспользовался, убрал все лишнее и сделал, что бы защита в соседней ячейке стояла тока на "Да". Но с модулями листа, да....я просохатил. Еще раз спасибо. Тему закрыл.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
Но ради интереса, т.к. Ваш код мне нравиться симпатичней, выкладываю свой файл с Вашим кодом
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Все так, только с изменяемых ячеек защиту снять надо бы. Иначе как менять да-нет? И после вставки кода либо перезапустить файл, либо выполнить Workbook_Open.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
Снимаю шляпу!!!
![]() |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 21.06.2010
Сообщений: 87
|
![]()
Тогда извините, еще один вопрос.
Можно ли в ячейке с выпадающим списком, кроме допустим "Да", "Нет", по умолчанию ставить еще и формулу? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает макрос в XP | vefer | Microsoft Office Excel | 6 | 22.01.2012 15:28 |
Не работает макрос по сети | ZHDN | Microsoft Office Excel | 8 | 11.12.2011 21:16 |
Макрос не правильно работает | staniiislav | Microsoft Office Excel | 6 | 12.10.2011 17:02 |
Почему не работает макрос | Dog_DinGo | Microsoft Office Excel | 8 | 20.03.2011 23:57 |
Не работает макрос в сети | Mark.ru | Microsoft Office Excel | 4 | 02.03.2011 12:12 |