Страницы: 1
RSS
Защита листа, в котором ведутся изменения на других листах макросом
 
Добрый вечер. Интересует такой ворос. В интернете нашел макрос (большое спсибо его автору), который веден журнал изменений, происходящих на других листах (в файле-примере LOG). Так вот, можно ли как-нибудь сделать, чтобы пользователи не могли менять данные на этом листе (LOG)? То есть не изменяли значения, не удаляли строки. Конечно, пробовал просто защитить этот лист (что было бы самое простое), но тогда и макрос не записывает туда данные. Идеальный случай был бы, если лист реально можно было защитить паролем, чтобы люди не лезли, а просто туда автоматом заносились данные, чтобы в случае чего можно просмотреть изменения.

И попутно еще вопрос. Там этот макрос на странице с Логом записывает имя пользователя винды, а как сделать, чтобы записывал имя, которое указано в параметрах Экселя? Пытался вместо UserName в строке:
.Cells(lLastRow, 1) = CreateObject("wscript.network").UserName
написать Application.UserName, но макрос что-то тоже начинает ругаться.

Заранее спасибо!
 
Цитата
Alexander1989 написал:
Конечно, пробовал просто защитить этот лист (что было бы самое простое), но тогда и макрос не записывает туда данные.
А такое пробывали вписать в модуль ЭтаКнига
Код
Private Sub Workbook_Open()

    With ThisWorkbook.Worksheets("LOG")
        .Protect Password:="12345", UserInterfaceOnly:=True
    End With

End Sub
???Так-же почитатйте Правильная защита макросом. Пароль 12345 измените на свой. Удачи.
 
Цитата
написал:
???Так-же почитатйте  Правильная защита макросом . Пароль 12345 измените на свой. Удачи.
Спасибо, помогло!
А по второму вопросу из темы можете что-то подсказать?
 
Здравствуйте.
Цитата
написал:
А по второму вопросу
Попробуйте, вроде так должно работать
Код
.Cells(lLastRow, 1) = Application.UserName
 
Цитата
Alexander1989 написал:
А по второму вопросу из темы можете что-то подсказать?
Упс, не дочитал до конца тему.
 
Цитата
написал:
Попробуйте, вроде так должно работать
Да,все работает. Спасибо Вам!

Еще такой вопрос, наверно последний.
В Лист1 добавлен макрос, который в примечание ячейки вносит дату, пользователя, действие при изменении этой же ячейки. Можно ли сделать так, чтобы это примечание невозможно было изменить/удалить? При этом данные самой ячейки при необходимости можно было бы менять сколько угодно раз. Или как-то сделать пароль именно на запрет изменения/удаления примечания.
Суть всего этого, чтобы пользователь (доступ будет только у одного, остальные только файл просматривают) занес параметры в ячейку, а в примечании к ней отслеживались все шаги по ее редактированию. Но при этом примечание этот единственный пользователь не мог корректировать
 
Заполняйте примечание при активации ячейки, данные берите из соответствующей ячейки листа LOG . Даже после изменения примечания, при повторной активации ячейки примечание вставится то, которое записано в ячейки листа LOG, А как понял лист LOG будет защищен от ручного изменения.
Страницы: 1
Читают тему
Наверх