Страницы: 1
RSS
Защитить некоторые ячейки от редактирования после ввода данных
 
Добрый день!
Есть таблица, мне нужна защита от повторного ввода на определенно диапазоне, я пробовал поставить код из файлов пред идущих тем, редактировал его под свой диапазон, но ничего не выходит, помогите пожалуйста . диапазон мне нужен от е6 до j1000
 
Добрый день! Сделала код для столбца Е. Остальное допилите.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 6 And Target.Row <= 1000 And Target.Column = 5 And Target.Value <> "" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End Sub
 
Настя_Nastya, Скажите, а где указывается пароль? если скажем руководителю все же нужно будет внести изменения в файл?
 
Там, где
Код
.Protect("пароль")
.Unprotect("пароль")
 
Спасибо большое, но редактировать файл можно если отключить защиту
 
Иван Васильев, а Вы как хотели?!
 
Настя_Nastya,
Мы хотели, что бы снят защиту рядовые пользователи не могли. и еще мы пробовали вот такой код, но он ругается на объеденные ячейки.
Код
Option Explicit
Const RangeToWatch = "A1:B4"                                    диапазон, где должна работать защита    

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Application.Intersect(Target, Range(RangeToWatch)) Is Nothing Then
       ActiveSheet.Unprotect

       If Not Target.Value = "" Then
           Target.Locked = True
       End If
              ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
   End If
End Sub

И еще один момент. При сохранении с поддержкой макросов значек файла преобретает восклицательный знак, а можно сохранить так что-бы значек был стандартным без восклицательного знака?
 
Цитата
Иван Васильев написал:
без восклицательного знака
сохраните в формате двоичной книги .xlsb
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Иван Васильев написал: Мы хотели, что бы снят защиту рядовые пользователи не могли.
Не давайте им пароль
 
Off. ... и не нужно объедать ячейки. :)  
Владимир
Страницы: 1
Наверх