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