Для каждого листа своя защита.
Есть два листа (лист1, лист2) надо чтобы на лист1 Ячейки были открыты тока для просмотра, а на лист2 открыты и для записи данных.
Зарание спасибо!!!
Защита листов производится в два действия
1. Выставляются, на нужный диапазон, в меню "формат ячейки" на вкладке "защита" - галки.
2. А второй зтап в меню "сервис" - "защита" - "защитить лист"
Защита ставится на выделенный лист
Защита листов производится в два действия
1. Выставляются, на нужный диапазон, в меню "формат ячейки" на вкладке "защита" - галки.
2. А второй зтап в меню "сервис" - "защита" - "защитить лист"
Защита ставится на выделенный лист
Собственно в этом и проблема что, указанный диапозон действует на все листы в кнге.
Вообще делается так - выделяем все ячейки листа, и указываем в их свойствах "защищить". А требуемые потом отдельно делаем "незащищёнными". После чего защищаем лист.
Это как?
Вообще-то там "защитить лист", а не "защитить листы".
Вообще-то там "защитить лист", а не "защитить листы".
Не там смотришь, выделяешь нужные ячейки, выбираешь из меню (Формат->Ячейки...) переходишь в открывшемся окне на вкладку ЗАЩИТА и ставишь (или убираешь) галочку "Защищаемая ячейка"
Да но когда галочку ставиш или убераеш с помощью VBA, если галочка ставиться на первол листе а потм пытаешся убрать со второго то выдоет ошибку что. И на обоих листах либо ячейки блокируются либо не, но все равно одинаково.
SAID, такого не должно быть.
Вот работоспособный пример:
With Worksheets(1)
.Range("a1").Locked = False
.Range("a1").FormulaHidden = False
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Worksheets(2).Range("b2").Value = 1
End Sub
Sub UnlockRange()
Worksheets(2).Activate
Worksheets(1).Unprotect
End Sub
Для решения вопроса необходимо (хотя бы) увидеть Ваш код.
Вот работоспособный пример:
With Worksheets(1)
.Range("a1").Locked = False
.Range("a1").FormulaHidden = False
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Worksheets(2).Range("b2").Value = 1
End Sub
Sub UnlockRange()
Worksheets(2).Activate
Worksheets(1).Unprotect
End Sub
Для решения вопроса необходимо (хотя бы) увидеть Ваш код.
Я не спорю что он работаент, но ведь в этом примере ты открываеш для записи ячейку "а1" лита и послеэтого вводиш в ячейку "b2" лита2
Я же говорил вот о чем например защитить ячейку "а1" на листе1 и оставить "а1" на листе2 не защищенной.
И получается что программа закрывает ячейку на листе1 но когда переходит к открытию на листе2 выскакивоет ошибка.