Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Защита диапазона ячеек по кнопке макросом
 
Здравствуйте, дорогие участники форма!

Есть файл, в котором защищены определенные ячейки. В незащищенных ячейках пользователи заполняют ежемесячно данные и отдают их на проверку руководителю. Руководителю после проверки надо заблокировать эти ячейки, т.е.:
1) снять защиту с листа
2) выделить диапазон ячеек и установить у них флаг "Защищаемая ячейка" в Формате ячеек
3) защитить лист паролем.

Можно ли облегчить действия руководителя и эту процедуру делать по кнопке, на которую закрепить запуск макроса? Диапазоны ячеек фиксированы, только их несколько: один проверяется и блокируется в начале месяца, другой проверяется и блокируется в конце месяца. Может быть можете подсказать макрос для этого (потому как сама еще совсем не сильна в этом)? Путем поиски на просторах интернета и у вас на форуме не смогла найти подобный макрос.

Пример файла, в котором нужно защищать таким образом ячейки прилагаю.
Изменено: dasharak - 2 Мар 2017 11:46:30
 
в Вашей схеме есть одно хрупкое звено
Цитата
Руководителю после проверки ...
а проверял он данные или нет неизвестно, мог открыть файл и тут же нажать кнопку
думаю можно избавить руководителя от этой рутины, а кнопку может нажать тот, кто данные готовил. конечный результат тот же - данные подготовлены и заблокированы от последующих изменений.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, здравствуйте!

Дело в том, что руководитель блокирует ячейки, чтобы как раз тот, кто готовил данные после их заполнения не мог эти данные изменить. В нашем случае именно руководитель заинтересован в проверке и блокировке данных, поэтому не в его интересах просто нажимать кнопку без проверки.

Суть вот в чем:
- сотрудник ввел плановые данные на месяц, руководитель проверил, заблокировал и сотрудник не может изменить плановые данные в своих интересах
- сотрудник ввел фактические данные за месяц, руководитель проверил, заблокировал и сотрудник не может изменить фактические данные
Цель: защитить от изменений данные прошлых периодов.
Изменено: dasharak - 3 Мар 2017 12:00:02
 
пробуйте записать эти действия макрорекодером... какой вопрос по xl после этого останется?  ;)
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
dasharak, типа такого что-нить?
1. Двойной щелчек по ячейке с надписью "Городское ориентирование. ПЛАН на ГОД"
2. После появления UserForm на клавиатуре набираете "12345". Кнопки должны активироваться.
Остальное написано на кнопках. Действия применяется к выделенным ячейкам.
Если что-нибудь подкрутить под Вашу задачу или не понятно, то спрашивайте...  ;)
Изменено: AAF - 4 Мар 2017 14:40:00
 
AAF, здравствуйте!

Да, что-то типа такого - огромное спасибо! Однако есть несколько вопросов:
1. Можно ли оставить только 3 кнопки: "Заблокировать выделенные ячейки", "Разблокировать выделенные ячейки", "Установить защиту листа"?
2. При нажатии кнопки "Установить защиту листа" сейчас лист блокируется без пароля - можно сделать, чтобы с вводом пароля блокировался? при чем этот пароль всегда один и не меняется (т.е. его можно где-то внутри макроса записать)
3. Возможно, ли сделать кнопки не выделенных ячеек, а по конкретным диапазонам (например, "Заблокировать ЯНВАРЬ", "Заблокировать ФЕВРАЛЬ"..."Заблокировать ПЛАН", "Заблокировать ФАКТ"...)?
4. И последнее: у меня есть несколько отчетов, где требуется такая функция - как я могу перенести этот макрос в них?

Заранее благодарю за ответ.
 
dasharak, Можно.  :)
1. Просто удалить лишние кнопки... Они были сделаны по просьбе трудящихся для упрощения редактирования бланков (для тех кто имеет право, поэтому и пароль 12345)
2. Можно
3.
Цитата
по конкретным диапазонам (например, "Заблокировать ЯНВАРЬ"
- Можно.

Но не понятно:
Цитата
Заблокировать ПЛАН", "Заблокировать ФАКТ
Это где такие? Просто не особо понятен принцип заполнения таблицы...  :oops:

И формул по горизонтали нет...?  8-0
4. Конечно. Вопрос только в том, насколько отличаются отчеты по структуре.. Настолько и подкрутить надо.

Вечером до дома доберусь и сделаем.
Изменено: AAF - 6 Мар 2017 14:10:21
 
Установить защиту листа: Worksheet.Protect Method (Excel)
Снять защиту листа: Worksheet.Unprotect Method (Excel)
Блокировка диапазона: Range.Locked Property (Excel)
Страницы: 1
Читают тему (гостей: 1)
Наверх