Есть файл в который разные пользователи вносят информацию. Это авторизация новых клиентов. Наличие клиента в таблице - сигнал другим менеджерам, что данный клиент занят и с ним уже работают. Задача состоит в том чтобы сделать возможным только добавление информации, и запрещение удаления, редактирования уже имеющейся, иначе говоря - внес информацию, сохранил, и после этой процедуры появлялся запрет на редактирования записи, своей, или чужой (не имеет значение) При этом пользователь мог бы свободно добавлять следующую запись
Вам безразлично, сколько времени помогающие будут тратить на то, чтобы разбраться в даных? Пример должен быть максимально простым, но отражать структуру данных.
gvawlad написал: Нужен, не нужен..... - это не по сути
согласен. Нужен ответ, не нужен - это не по сути. Зачем отвечающим облегчать понимание Вашей задачи? Пусть зайдут, посмотрят и уйдут. Так всем проще. Только вот зачем тогда вообще было создавать тему? Если любые замечания в свой адрес Вы считаете не существенными и к делу отношения не имеющими?
По факту: Вам скорее всего только макрос поможет, который будет защищать данные сразу после внесения данных. Т.е. изначально оставляете пустые ячейки не заблокированными, а заполненные - заблокированными(правая кнопка мыши -Формат ячеек -Защита -галка Защищаемая ячейка). А затем кодом в WorksheetChange для каждого Target выставляете атрибут Защищаемая. код в модуле листа(правая кнопка мыши на ярлыке листа -Исходный текст или Посмотреть код) будет примерно таким:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rc As Range
Me.Unprotect "1234"
For Each rc In Target.Cells
If Not rc.Locked Then
rc.Locked = True
End If
Next
Me.Protect "1234"
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Дмитрий! Спасибо за макрос. То что надо!!!! Если бы фильтрация осталась, при этих условиях, активной. Было бы совсем замечательно. Но в целом предложенный вариант помог решить проблему.
а код ничего с фильтрацией и не делает. Запишите макрос с разрешением фильтра, посмотрите какой параметр за это отвечает и добавьте в мой код к методу Protect. Вот и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
значит надо развиваться, не всегда же бегать на форум при каждом чихе. Наберите в Яндексе - "что такое макрос". Тема не новая, подобных статей море, в том числе и на этом сайте. На форуме не обучают людей азам, а помогают в конкретных или интересных проблемах. У Вас должно получиться что-то вроде:
Код
Me.Protect "1234", Allowfiltering:=true
макрорекордер запишет много чего еще, но это не мешает работе.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...