Страницы: 1
RSS
Запрет редактирования (макрос)
 
Добрый день. Прошу помощи в реализации запрета на изменения данных в в ячейке или диапазоне ячеек. Данный запрет должен быть реализован только макросом. Стандартные методы не подходят.
 
Добрый.
Эмм... а защитить ячейки с невозможностью выделения - тоже не подходит?
Кому решение нужно - тот пример и рисует.
 
Цитата
Владимир С написал: Данный запрет должен быть реализован только макросом
вот с этого момента поподробнее. А если я отключу работу макросов - что делать будете? Просто странное желание: не защитить нормально, а именно макросом. Поэтому хочется услышать цель, а не хотелку.
По сути запретить изменять ячейки можно таким кодом в модуле книги:
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    With Application
    .EnableEvents = 0: .Undo: .EnableEvents = 1
    End With
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Есть определенный функционал(надстройка) который выполняет определенный действия ссылаясь на выделенную ячейку, запрещать стандартным способом изменения можно, но тогда остается возможность пользователю копировать все данные с листа, а это должно быть запрещено. Когда стоит запрет на выделение заблокированы ячеек тогда функционал не может работать так как не видит выделенные для него ячейки.
 
Цитата
The_Prist написал:
А если я отключу работу макросов - что делать будете?
Стоит двойная защита листа для пользователя, как макросом, макросы работаю но лист остается защищен и ручная защита стандартным способом. Если отключить работу макросов тогда пользователь ничего не сделает что от него требуется.
Изменено: Владимир С - 17.12.2015 14:19:19
 
Цитата
Владимир С написал:
но тогда остается возможность пользователю копировать все данные с листа
так цель запретить копировать данные?
Или
Цитата
Владимир С написал:
в реализации запрета на изменения данных в в ячейке или диапазоне ячеек
?
Реализацию запрета изменения кодом я показал.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
The_Prist написал:
По сути запретить изменять ячейки можно таким кодом в модуле книги:
Код супер но он запрещает изменение все ячеек, а как указать диапазон который нужно запретить?
 
Код
If intersect(target,sh.range("A1:C10")) is nothing then exit sub
вставить перед With Application
A1:C10 - диапазон ячеек, в которых необходимо запретить ввод данных.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
ОГРОМНОЕ СПАСИБО
 
Цитата
The_Prist написал:
так цель запретить копировать данные?
Да, этот способ проще для реализации защиты от копирования, а также защита от изменений.
Страницы: 1
Читают тему
Наверх