Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Защита ячейки в зависимости от значения другой ячейки
 
МатросНаЗебре, Да / Нет у меня идут выпадающим списком в одном столбце, так что мне не критичны эти проверки, просто хотел сделать защиту от случайного удаления введенных данных.
Защита ячейки в зависимости от значения другой ячейки
 
МатросНаЗебре, Спасибо, добавил ActiveSheet.Unprotect и Protect и заработало. Не понял зачем у вас в коде подсчёт ячеек и столбцов, к себе не добавлял работает и так.  
Защита ячейки в зависимости от значения другой ячейки
 
Всем доброго времени суток.

Есть проблемка. Необходимо защитить ячейку от изменений в зависимости от данных в контрольной ячейке. В VBA не силён, написал такой код:

[code]
Private Sub Worksheet_Change(ByVal Target As Range)
   
   If ActiveCell.Value = "Да" Then
       ActiveCell.Offset(0, -4).Locked = True
   ElseIf ActiveCell.Value = "Нет" Then
       ActiveCell.Offset(0, -4).Locked = False
   End If
   
End Sub
[/code]

Пока защита листа не включена, всё работает, галочка защиты ячейки ставится и снимается. Но как только я ставлю защиту листа (защита без пароля) при смене значения в контрольной ячейке вылетает ошибка: Run-time error '1004' Нельзя установить свойство Locked класса Range. Что я делаю не так?
Есть мысль что перед изменением защиты ячейки надо программно снять защиту листа и потом программно его вернуть. В какую сторону копать? Предложение учить c нуля  VBA не принимаются :)    
Страницы: 1
Наверх