Запрет добавления листов в excel

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

Запретить другим пользователям вставлять лист с помощью функции защиты книги

Запретить другим пользователям вставлять лист с кодом VBA


стрелка синий правый пузырь Запретить другим пользователям вставлять лист с помощью функции защиты книги

Excel предоставляет функцию — Защитить книгу с его помощью вы можете защитить структуру книги, которая не будет вставляться, удаляться, переименовываться или выполнять другие операции. Пожалуйста, сделайте следующее:

1. Перейти к щелчку Обзор > Защитить книгу, см. снимок экрана:

документ-предотвратить-вставку-лист1

2. В Защитить структуру и окна диалоговое окно, отметьте Структура вариант и введите свой пароль в текстовое поле, нажмите OK Показать Подтвердите пароль диалоговое окно и повторно введите свой пароль. Смотрите скриншоты:

3. Затем нажмите OK , чтобы закрыть диалоговые окна, и теперь, когда вы вставляете новый рабочий лист в эту книгу, функция вставки рабочего листа будет недоступна.

Примечание: с помощью этой функции следующие серые элементы также можно использовать в этой книге.

документ-предотвратить-вставку-лист1


стрелка синий правый пузырь Запретить другим пользователям вставлять лист с кодом VBA

Если вы просто хотите запретить другим вставлять листы, но также можете выполнять другие операции, у вышеуказанного метода есть свои ограничения. Здесь следующий код VBA может оказать вам услугу.

1. Откройте книгу, которую вы хотите отключить, чтобы вставлять листы.

2. Затем удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.

3. Слева VBAProject панель, дважды щелкните Эта рабочая тетрадь для открытия Модули, затем скопируйте и вставьте следующий код.

Код VBA: запретить другим вставлять лист

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'Update 20140623
With Application
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End With
 MsgBox "disable to add sheets"
End Sub

документ-предотвратить-вставку-лист1

4. Затем сохраните и закройте этот код, вернитесь в книгу, и теперь, когда вы попытаетесь вставить новый лист в эту книгу, появится окно с предупреждением, напоминающее, что вы не можете вставлять листы. Смотрите скриншот:

документ-предотвратить-вставку-лист1


Статьи по теме:

Как запретить пользователям печатать лист?

Как отключить клавишу справки F1 в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (2)


Оценок пока нет. Оцените первым!

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

#1

09.01.2014 13:30:07

Здравствуйте. Помогите пожалуйста новичку. В макросах можно сказать не разбираюсь =(.
Суть в том, что бы:
1) защитить изменение имени листов,
2) защитить от удаления существующие листы,
3) запретить добавление листов в книгу (этот я нашёл в инете)

Код
Private Sub workbook_newsheet(ByVal sh As Object)
    Application.DisplayAlerts = False
        MsgBox "Добавлять рабочие листы в эту книгу нельзя", vbInformation
        sh.Delete
    Application.DisplayAlerts = True
End Sub
 

С остальными проблема..

Изменено: qwer16099009.01.2014 13:30:47
(уточнил тему)

 

Слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

нужно именно программно это сделать

 

Слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

макрорекордер:
ActiveWorkbook.Protect Structure:=True, Windows:=False

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

 насколько я понимаю,  Ваш код защищает структуру активной книги (т.е. то же самое нежели я защиту книгу поставлю)?

Изменено: qwer16099009.01.2014 15:14:56
(уточнение)

 

Слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

именно, а чем вам не нравится?

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Да вроде бы всё как хотел, спасибо.  :)

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

#8

11.01.2014 19:02:24

Видимо что-то не так делаю, не работает макрос. Листы можно переименовывать, удалять, перемещать..

Код
 Sub защита()
    ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub
 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Видимо защищаете активную книгу, а листы изменяете в другой…
Либо макрос написали, но выполнить забыли   :)

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Что нужно сделать, что бы защитить листы от переименования, удаления в конкретной книге?
Что бы он автоматически выполнялся, как тот, что я указал в самом начале, запрещающий добавлять листы.

Изменено: qwer16099011.01.2014 21:00:44
(добавил текста)

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#11

11.01.2014 21:08:22

Цитата
Что нужно сделать, что бы защитить листы от переименования, удаления в конкретной книге?

В этой конкретной книге и напишите макрос. И вместо активной книги используйте Эта книга (Thisworkbook)

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Зачем автоматически-то? Один раз защитили и все. Защита остается до тех пор, пока Вы сами её не снимите.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

#13

11.01.2014 21:41:56

Извиняюсь если глупые вещи пишу, только начинаю интересоваться макросами.
С программированием знаком не много, было интересно раньше, сейчас понимаю что для решения некоторых не затейливых задач можно самому написать программу. Было бы здорово ещё знать какой язык используется при написании и какой-нибудь мануал для начинающих почитать.

Юрий М

, спасибо, попробую применить, посмотрим что получится.

Попробовал, почему-то так же не работает..

Код
Sub защита()
    ThisWorkbook.Protect Structure:=True, Windows:=False
End Sub
 

Изменено: qwer16099011.01.2014 21:53:42

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Извиняюсь что не в тему  :)  чем отличается Sub от Private Sub?

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Вставьте курсор в слово Private и нажмите F1.

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#16

11.01.2014 22:11:42

Цитата
почему-то так же не работает.

Как проявляется это «не работает»?

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Юрий М

, могу переименовывать, перемещать и удалять листы в книге.

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

У меня такого не наблюдается.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Самое очевидное: процедуру написали но не выполнили. Поставьте курсов внутрь процедуры и нажмите F5. Процедура выполнится, книга защищена.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

поставил курсор на тексте с кодом, нажал F5 — ничего не произошло..

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

А хоть какой-нибудь макрос работает?

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#22

11.01.2014 23:26:07

Цитата
ничего не произошло..

А ничего и не должно было произойти, кроме установки защиты.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#23

11.01.2014 23:54:23

Код
поставил курсор на тексте с кодом, нажал F5 - ничего не произошло

Т.е. даже после этого можете свободно добавить, удалить или переименовать любой лист в этой книге?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

The_Prist, да, могу менять структуру. Вот всё что по операторам VBA у меня в проджекте, может как-то поможет разъяснить ситуацию. Тут буквально «пара» строчек.

Прикрепленные файлы

  • книга.xlsm (43.8 КБ)

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

Выполнил Sub защита — возможность удаления листов пропала: пункты меню неактивны.
А зачем Вы все макросы разместили в модуле книги?

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Юрий М

, видимо ещё не разобрался что и где нужно писать. Скажите пожалуйста, как Вы его выполнили.

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

См. #19. Другой вариант: Alt+F8

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

А Вы выложили файл, где защита НЕ была установлена, хотя, Вы писали (#20), что ВЫПОЛНИЛИ…

 

qwer160990

Пользователь

Сообщений: 178
Регистрация: 27.11.2013

Win 10, MSO 2016

Юрий М

, сказали установить курсор и нажать Ф5 — сделал не вышло. Попробую Alt+F8

 

Юрий М

Модератор

Сообщений: 60581
Регистрация: 14.09.2012

Контакты см. в профиле

#30

12.01.2014 01:09:48

Цитата
сказали установить курсор и нажать Ф5

И куда Вы установили курсор? Нужно в любое место той процедуры, которую собираетесь выполнить.

Хитрости »

12 Июнь 2012              187378 просмотров


Каждому пользователю свой лист/диапазон

Очень часто на своих тренингах и в форумах я слышу вопрос: как защитить доступ к книге так, чтобы для каждого пользователя был доступен только свой лист/листы? А другие ячейки или листы были недоступны для изменения или просмотра? Или скрыть отдельные столбцы с глаз пользователя? Часть подобного функционала предоставляется стандартными средствами Excel, а другая(например, доступность просмотра только конкретных листов) достигается только через макросы. В этой статье хочу привести несколько примеров реализации подобных разграничений прав между пользователями, их плюсы и минусы.

  • Разграничение доступа к ячейкам стандартными средствами

Разграничение прав доступа при помощи VBA

  • Доступ пользователям только к определенным листам
  • Доступ пользователю к определенным листам и возможность изменять только отдельные ячейки
  • Доступ к определенным листам и скрытие указанных строк/столбцов
  • Практический пример с использованием администратора

Разграничение доступа к ячейкам стандартными средствами

Для разграничения доступа к ячейкам на листе можно воспользоваться инструментом Разрешить изменение диапазонов(Allow Users to Edit Ranges), расположенном на вкладке Рецензирование(Review), группа Изменения(Changes):
Разрешить изменение диапазонов
Это стандартный инструмент, для использования которого нет необходимости подключать что-то дополнительно и он относительно прост в использовании.
Данный инструмент позволяет назначить каждому отдельному диапазону ячеек свои пароли, диапазоны могут располагаться на разных листах книги или на одном листе:
Пример таблицы
Например, сотрудники коммерческого отдела в общем файле бюджета(картинка выше) должны иметь возможность заполнять только ячейки строк со статьями выручки (строки 8-11, 13-14), а производственный отдел строки 18-22, в которых расположены статьи по расходам производственного отдела. При этом сотрудники коммерческого отдела не должны иметь возможность изменять данные статей другого отдела – каждый только данные своих статей.
Для начала необходимо для сотрудников каждого отдела создать отдельные диапазоны, к которым они будут иметь доступ. Для этого переходим на вкладку Рецензирование(Review) -группа Изменения(Changes)Разрешить изменение диапазонов(Allow Users to Edit Ranges). Появится диалоговое окно создания/изменения диапазонов:
Создание диапазонов
Нажимаем Создать(New). Появится другое окно, в котором необходимо указать имя диапазона

(Title)

(

коммерческий

), доступные для изменения ячейки

(Refers to cells)

(

C8:N11;C13:N14

) и вписать пароль

(Range password)

(

1111

):
Новый диапазон
После нажатия Ок появится окно подтверждения пароля. Необходимо указать тот же пароль, что был указан ранее для данного диапазона.

Примечание: если нажать на кнопку Разрешения(Permissions), то можно установить доступ без пароля для конкретных групп пользователей, если группы настроены политикой доменной сети.

Точно так же создаем второй диапазон – «производственный», но для него указываем другой пароль(например –

2222

). После этого у нас в главном окне управления диапазонами будет два диапазона:
Просмотр диапазонов
Здесь можно еще раз проверить все ли правильно указано, при необходимости изменить (так же изменить диапазоны можно в любое время, вызвав данное окно с вкладки Рецензирование(Review)Разрешить изменение диапазонов). После этого нажимаем Применить(Apply).
Теперь, чтобы такая защита сработала необходимо непосредственно защитить лист. Это можно сделать либо сразу из этого же окна, нажав кнопку Защитить лист, либо закрыв окно перейти на вкладку Рецензирование(Review) и в группе Изменения(Changes) выбрать Защитить лист(Protect sheet):
Параметры защиты листа
В появившемся окне проставляем галочки для тех действий, которые мы хотим разрешить делать пользователю на защищенном листе без ввода пароля(например, на картинке выше помимо стандартного выделения ячеек разрешена вставка столбцов. Подробнее про защиту листов и ячеек можно прочитать в статье — Защита листов и ячеек в MS Excel). Указываем пароль (например

3333

), подтверждаем пароль в появившемся окне и нажимаем Ок. Лист защищен.

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

Теперь остается сообщить сотрудникам отделов их пароли: производственный — 2222, коммерческий – 1111.
При первой попытке изменить данные в ячейках C8:N11;C13:N14- будет запрошен пароль на изменение ячеек созданного диапазона «коммерческий» (1111):
Доступ к диапазону
Если пользователю известен пароль для диапазона – его необходимо будет ввести лишь один раз. В дальнейшем для ввода данных в ячейки этого диапазона вводить пароль не придется до тех пор, пока файл не будет закрыт. После повторного открытия файла пароль необходимо будет указать заново.
Однако, если сотрудник другого отдела попытается изменить ячейки производственного отдела и пароль ему неизвестен – изменить данные этих ячеек не получится.
Также ни сотрудники коммерческого отдела, ни сотрудники производственного отдела не смогут изменить данные столбцов А и В(№ и наименование статьи), заголовки таблицы(строки с 1-ой по 7-ю) и строки с итоговыми формулами (12, 15 и т.д. – закрашенные зеленым). Они смогут изменять только те ячейки, которые перечислены в назначенных каждому отделу диапазонах. Внести данные в другие ячейки(не перечисленные в разрешенных диапазонах) можно будет исключительно сняв общий доступ с книги, а после этого защиту с листа –Рецензирование(Review) -группа Изменения(Changes)Снять защиту листа(Unprotect sheet). Но снять общую защиту сможет только тот, кто её создавал и кому известен «главный» пароль. Как правило это администратор или некий «смотрящий» файла и другие пользователи этот пароль не знают.
Плюс подобного метода в том, что такая защита может быть установлена для книги в общем доступе(подробнее про книги с общим доступом можно прочитать в статье — Ведение журнала сделанных в книге изменений).
Что необходимо учитывать для книг с общим доступом: создавать диапазоны для пользователей и устанавливать защиту на лист необходимо ДО назначения книге общего доступа, т.к. после того, как книге будет назначен общий доступ изменять параметры защиты листов и книги запрещено. При этом запрещены как установка защиты так и её снятие.
Минус данного метода в том, что нет дружественного интерфейса снятия защиты. Например, при попытке изменить какие-то ячейки одного из назначенных диапазонов нет никакой информации о том, что это за диапазон(коммерческий или производственный). Что в свою очередь может запутать пользователя. Так же данным методом невозможно скрыть листы, либо отдельные строки и столбцы. Можно лишь запретить изменение ячеек.


Разграничение прав доступа при помощи VBA
Самый большой минус всех методов ниже:

они

не будут работать при отключенных макросах

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

Плюс подобного подхода

— мы практически не ограничены в правилах: можем скрывать от отдельных пользователей любые листы, строки и столбцы, защищать отдельные ячейки и т.п. Я ниже приведу несколько вариантов реализации защиты кодами, а вам останется лишь выбрать тот, который больше подходит под задачу. Первые три больше демонстрационные, чтобы показать что можно сделать. А вот последний пример — Практический пример с использованием администратора — наиболее приближен к задачам, применяемым в работе и наиболее удобен для распространения среди пользователей.
Проект VBA во всех файлах открыт для просмотра и изменений. Однако перед распространением решений в реальности лучше его закрыть от просмотра и изменений — Как защитить проект VBA паролем.

Важно: приведенные ниже решения могут работать некорректно в книгах с общим доступом. А те решения, в которых устанавливается защита на листы вообще не будут работать, т.к. для книг с общим доступом невозможно изменять параметры защиты листов и книг.

  • Доступ пользователям только к определенным листам
    Исходная задача: дать возможность пользователю видеть и работать только на определенных листах — тех, которые мы ему выделили. При этом он даже не подозревает, что есть другие листы. Как работает. Открываем файл — автоматом отображается лишь один лист «Main», доступный всем пользователям, жмем на кнопку, появляется форма:

    В форме необходимо выбрать пользователя и указать пароль, соответствующий этому пользователю. Важно: Пароли и список доступных листов можно редактировать на очень скрытом листе «Users». Для каждого пользователя можно указать несколько листов. Указывать имена листов необходимо в точности такие же, какие они на самом деле. Это значит, что и регистр букв и каждый пробел должен быть учтен. Для разделения записей с несколькими листами используется точка-с-запятой(Лист1;Лист2;Лист3).
    На листе «Main» перечислены имена пользователей, пароли для них и доступные для просмотра листы. Данная информация указаны только для ознакомления и тестов. Менять данные для реальных задач необходимо на листе «Users».

    Важно: файл может работать нестабильно в книгах с общим доступом.

    Скачать пример

      Tips_Macro_Sheets_for_Users.xls (84,5 KiB, 10 565 скачиваний)

  • Доступ пользователю к определенным листам и возможность изменять только отдельные ячейки
    Помимо того, что можно ограничить пользователю свободу выбора листов, ему можно еще и ограничить диапазоны ячеек, которые ему разрешено изменять. Иначе говоря, человек сможет работать только на Лист1 и Лист2 и вносить изменения только в указанные для каждого из листов ячейки. Файл с примером работает так же, как и пример выше: открываем книгу — видим только один лист «Main», жмем кнопку. Появляется форма, выбираем пользователя. Появятся только разрешенные листы и на этих листах можно изменять только те ячейки, который мы разрешим в настройках. При этом диапазоны для изменения можно указать для каждого листа разные. Важно: Пароли, список доступных листов и диапазонов можно редактировать на очень скрытом листе «Users». Для этого его необходимо отобразить, как описано в статье: Как сделать лист очень скрытым.
    Чтобы разрешить изменять диапазоны на Лист1 — А1:А10 и А15:А20, а на Лист2 — В1:В10 и В15:В20, необходимо на листе «Users» указать листы: Лист1;Лист2 и диапазоны: A1:A10,A15:A20;B1:B10,B15:B20
    На листе «Main» пароли и фамилии указаны только для ознакомления и тестов. Менять данные для реальных задач необходимо на листе «Users».
    Пароль на листы указывается напрямую в коде. Для изменения пароля необходимо перейти в редактор VBA(Alt+F11), раскрыть папку Modules, выбрать там модуль sPublicVars и изменить значение 1234 в строке: Public Const sPWD As String = «1234»:
    Сменить пароль на листы

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

    Скачать пример

      Tips_Macro_Sheets_Rng_for_Users.xls (86,0 KiB, 4 882 скачиваний)

  • Доступ к определенным листам и скрытие указанных строк/столбцов
    И еще чуть-чуть испортим жизнь пользователю: каждому пользователю видны только свои листы и виден только свой диапазон на этом листе. Точнее — строка или столбец. Все так же, как и в файлах выше(Пароли, список доступных листов и диапазонов можно редактировать на очень скрытом листе «Users». Для этого его необходимо отобразить, как описано в статье: Как сделать лист очень скрытым).
    На листе «Users» доступны следующие настройки: в самом правом столбце необходимо указать скрывать столбцы(C) или строки(R) указанного диапазона.
    Например, указаны диапазоны на Лист1 — А1:А10 и А15:А20, а на Лист2 — В1:В10 и В15:В20, а в правом столбце — R;C. Значит на Лист1 будут скрыты строки 1:10, 15:20, а на Лист2 столбец В. Почему так заумно? Потому что нельзя скрыть только отдельные ячейки — можно скрыть лишь столбцы или строки полностью.
    На листе «Main» пароли и фамилии указаны только для ознакомления и тестов. Менять данные для реальных задач необходимо на листе «Users».
    Пароль на листы указывается напрямую в коде. Для изменения пароля необходимо перейти в редактор VBA(Alt+F11), раскрыть папку Modules, выбрать там модуль sPublicVars и изменить значение 1234 в строке: Public Const sPWD As String = «1234»:
    Сменить пароль на листы

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

    Скачать пример

      Tips_Macro_Sheets_Hide_Rng_for_Users.xls (100,0 KiB, 4 537 скачиваний)

  • Практический пример с использованием администратора
    Все примеры выше имеют один маленький недостаток: при открытии файла виден один лист и надо жать на кнопку, чтобы выбрать пользователя. Это не всегда удобно. Плюс есть недостаток куда хуже: для изменения настроек всегда надо вручную отображать лист настроек, а может и другие листы. Поэтому ниже я приложил файл, форма в котором открывается сразу после открытия файла:
    Форма авторизации
    Если выбрать «Пользователь» — admin, указать «Пароль» — 1, то все листы файла будут отображены. Другим пользователям будут доступны только назначенные листы. Таким образом, пользователь, назначенный администратором сможет легко и удобно менять настройки и права доступа пользователей: добавлять и изменять пользователей, их пароли, листы для работы(они доступны на листе Users, как и в файлах выше). После внесения изменений надо просто закрыть файл — он сохраняется автоматически, скрывая все лишние листы.
    При этом если пользователя нет в списке или пароли ему неизвестны, то при нажатии кнопки Отмена или закрытии формы крестиком файл так же закроется. Таким образом к файлу будет доступ только тем пользователям, которые перечислены в листе Users, что исключает доступ к файлу посторонних лиц.
    Если макросы будут отключены, то пользователь увидит лишь один лист — с инструкцией о том, как включить макросы. Остальные листы будут недоступны.
    В реальных условиях не лишним будет закрыть доступ к проекту VBA паролем: Как защитить проект VBA паролем

    Важно: файл может работать нестабильно в книгах с общим доступом.

    Скачать пример

      Tips_Macro_UsersRulesOnStart.xls (72,0 KiB, 6 294 скачиваний)


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Чтобы предотвратить умышленное или случайное изменение, перемещение или удаление данных на листе другими пользователями, можно заблокировать ячейки на листе Excel, а затем защитить его паролем. Предположим, что у вас есть лист отчета о работе группы и вы хотите, чтобы ее участники могли добавлять данные только в определенные ячейки и не могли изменять другие элементы. С помощью защиты листа можно сделать доступными для редактирования только определенные части листа, после чего пользователи не смогут изменять данные в других его областях. 

Важно: Защита листа не является функцией безопасности. Она просто запрещает изменение заблокированных ячеек на листе. Защита листа отличается от защиты файла или книги Excel паролем. Дополнительные сведения см. ниже.

  • Сведения о том, как заблокировать файл, чтобы другие пользователи не смогли открыть его, см. в статье Защита файла Excel.

  • Чтобы предотвратить добавление, изменение, перемещение, копирование или скрытие и отображение листов в книге, см. статью Защита книги.

  • Чтобы узнать, чем защита файла Excel отличается от защиты книги или листа, прочтите статью Защита и безопасность в Excel.

В следующих разделах описано, как защитить и отоградить Excel для Windows.

Вот какие элементы можно заблокировать на незащищенном листе:

  • Формулы: если вы не хотите, чтобы другие пользователи видели формулы, их можно скрыть из ячеек или строки формул. Дополнительные сведения см. в том, как отобразить или скрыть формулы.

  • Диапазоны: вы можете позволить пользователям работать в определенных диапазонах на защищенном листе. Дополнительные сведения см. в статье Блокировка и разблокировка определенных областей защищенного листа.

Примечание: Элементы ActiveX, элементы управления форм, фигуры, диаграммы, графические элементы SmartArt, спарклайны, срезы, временные шкалы и некоторые другие элементы блокируются сразу после добавления в таблицу. Однако блокировка будет работать только в том случае, если включена защита листа. Дополнительные сведения о том, как включить защиту, см. в следующем разделе.

Защита листа выполняется в два этапа: сначала нужно разблокировать ячейки, которые пользователи должны изменять, а затем защитить лист с использованием пароля или без него.

Шаг 1. Разблокировка всех ячеек, которые необходимо изменять

  1. В файле Excel щелкните ярлычок листа, который вы хотите защитить.

  2. Выделите ячейки, которые должны изменять другие пользователи.

    Совет: Чтобы выделить несколько несмежных ячеек, нажмите и удерживайте клавишу CTRL и щелкните их левой кнопкой мыши.

  3. Щелкните правой кнопкой мыши в любом месте листа и выберите команду Формат ячеек (либо нажмите клавиши CTRL+1 или COMMAND1 на компьютере Mac), а затем откройте вкладку Защита и снимите флажок Защищаемая ячейка.

    Вкладка "Защита" в диалоговом окне "Формат ячеек"

Шаг 2. Защита листа

Решите, какие действия пользователи должны выполнять на листе (например, вставка и удаление столбцов или строк, изменение объектов, сортировка или использование автофильтра). Кроме того, вы также можете указать пароль, чтобы заблокировать лист. Пароль не позволит другим пользователям снять с листа защиту — его потребуется ввести для ее отключения.

Ниже приведены инструкции по защите листа.

  1. На вкладке Рецензирование нажмите кнопку Защитить лист.

    Изображение ленты Excel

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

    Диалоговое окно «Защита листа»

    Параметр

    Возможность

    выделение заблокированных ячеек

    Перемещение указателя на ячейки, для которых установлен флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять защищенные ячейки.

    выделение незаблокированных ячеек

    Перемещение указателя на ячейки, для которых снят флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять незащищенные ячейки, а также перемещаться между незащищенными ячейками на защищенном листе с помощью клавиши TAB.

    форматирование ячеек

    Изменение параметров в диалоговых окнах Формат ячеек или Условное форматирование. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.

    форматирование столбцов

    Использование любых команд форматирования столбцов, включая изменение ширины столбца или скрытие столбцов (вкладка Главная, группа Ячейки, кнопка Формат).

    форматирование строк

    Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).

    вставку столбцов

    Вставка столбцов.

    вставку строк

    Вставка строк.

    вставку гиперссылок

    Вставка новых гиперссылок (даже в незаблокированных ячейках).

    удаление столбцов

    Удаление столбцов.

    Примечание: Если delete columns is protected and Insert columns is not protected, a user can insert columns but cannot delete them.

    удаление строк

    Удаление строк.

    Примечание: Если delete rows is protected and Insert rows is not protected, a user can insert rows but cannot delete them.

    сортировку

    Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).

    Примечание: Пользователи не смогут сортировать диапазоны, содержащие заблокированные ячейки на защищенном листе, независимо от настройки этого параметра.

    использование автофильтра

    Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.

    Примечание: Пользователи не смогут применять или удалять автофильтры на защищенном листе независимо от настройки этого параметра.

    использование отчетов сводной таблицы

    Форматирование, изменение макета, обновление данных либо иное изменение отчетов сводной таблицы, а также создание отчетов.

    изменение объектов

    Выполнять следующие действия:

    • Внесение изменений в графические объекты, в том числе карты, встроенные диаграммы, фигуры, надписи и элементы управления, которые не были разблокированы перед установкой защиты листа. Например, если на листе есть кнопка, запускающая макрос, ее можно нажать, чтобы запустить макрос, но нельзя удалить.

    • Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.

    • Добавлять и редактировать заметки.

    изменение сценариев

    Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.

  3. При желании можно ввести пароль в поле Пароль для отключения защиты листа и нажать кнопку ОК. В диалоговом окне Подтверждение пароля еще раз введите пароль и нажмите ОК.

    Важно: 

    • Используйте надежные пароли, состоящие из букв в верхнем и нижнем регистре, цифр и символов. В ненадежных паролях не используются сочетания таких элементов. Пароль должен состоять не менее чем из 8 знаков. Лучше использовать в качестве passphrase 14 или более символов.

    • Очень важно запомнить свой пароль. Если вы забудете пароль, корпорация Майкрософт не сможет его восстановить.

Если лист защищен, команда Защитить лист на ленте изменяется на Снять защиту листа. Команду Снять защиту листа можно найти на вкладке Рецензирование в группе Изменения.

Изображение ленты Excel

Изображение ленты Excel

Чтобы снять защиту листа, сделайте следующее:

  1. Выберите лист, защиту которого вы хотите снять.

  2. Выберите Файл > Сведения > Защита > Снять защиту листа или РецензированиеИзменения > Снять защиту листа.

  3. Если лист защищен паролем, введите его в диалоговом окне Защита листа и нажмите кнопку ОК.

В следующих разделах описано, как защитить и отоградить Excel в Интернете.

  1. Выберите Просмотр> Управление защитой.

  2. Чтобы включить защиту, в области задач Управление защитой выберите Защитить лист.

    Примечание     Хотя вы можете выборочно защитить части листа, заняв различные параметры в разделе Параметры, эти параметры применяются только в том случае, если задействовать параметр Защитить лист.

    Управление защитой листа

  3. По умолчанию весь лист заблокирован и защищен.  Чтобы разблокировать определенные диапазоны, выберите разблокированы диапазоны, а затем введите имя диапазона и диапазон ячеев. Можно добавить несколько диапазонов.

    Настройка защиты диапазона

  4. При необходимости, чтобы потребовать ввода пароля для изменения диапазона, выберите Диапазон, введите и подтвердите пароль, а затем выберите Сохранить. Убедитесь, что защита листа включена.

    Настройка защиты диапазона

  5. При желании, чтобы изменить защиту всего листа с помощью пароля, выберите Пароль защиты листа, введите и подтвердите пароль, а затем выберите Сохранить.

    Настройка пароля листаважно

    • Используйте надежные пароли, состоящие из букв в верхнем и нижнем регистре, цифр и символов. В ненадежных паролях не используются сочетания таких элементов. Пароль должен состоять не менее чем из 8 знаков. Убедитесь, что клавиша CAPS LOCK отключена, и используйте правильную буквовую букву. Пароли вводятся с учетом регистра.

    • Очень важно запомнить свой пароль. Если вы забудете пароль, корпорация Майкрософт не сможет его восстановить.

  6. При желании, если вы хотите выборочно включить и отключить определенные элементы листа, выберите раздел Параметры, а затем выберите один или несколько параметров.

    Параметр

    Возможность

    выделение заблокированных ячеек

    Перемещение указателя на ячейки, для которых установлен флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять защищенные ячейки.

    выделение незаблокированных ячеек

    Перемещение указателя на ячейки, для которых снят флажок Защищаемая ячейка на вкладке Защита в диалоговом окне Формат ячеек. По умолчанию пользователям разрешено выделять незащищенные ячейки, а также перемещаться между незащищенными ячейками на защищенном листе с помощью клавиши TAB.

    формат ячеек

    Измените параметры в группах Шрифт и Выравнивание на вкладке Главная.

    Заметка      Если форматирование ячеек и скрытые свойства ранее были защищены с помощью диалоговых окна Формат ячеек или Условное форматирование, они остаются защищенными, но изменять параметры в этих диалоговых окнах можно только с помощью Excel для Windows. Если условное форматирование было применено до установки защиты листа, форматирование будет изменяться при вводе значения, удовлетворяющего определенному условию.

    форматирование столбцов

    Использование любых команд форматирования столбцов, включая изменение ширины столбца или скрытие столбцов (вкладка Главная, группа Ячейки, кнопка Формат).

    форматирование строк

    Использование любых команд форматирования строк, включая изменение высоты строки или скрытие строк (вкладка Главная, группа Ячейки, кнопка Формат).

    вставку столбцов

    Вставка столбцов.

    вставку строк

    Вставка строк.

    вставку гиперссылок

    Вставка новых гиперссылок (даже в незаблокированных ячейках).

    удаление столбцов

    Удаление столбцов.

    Примечание: Если delete columns is protected and Insert columns is not protected, a user can insert columns but cannot delete them.

    удаление строк

    Удаление строк.

    Примечание: Если delete rows is protected and Insert rows is not protected, a user can insert rows but cannot delete them.

    сортировку

    Использование команд для сортировки данных (вкладка Данные, группа Сортировка и фильтр).

    Примечание: Пользователи не смогут сортировать диапазоны, содержащие заблокированные ячейки на защищенном листе, независимо от настройки этого параметра.

    использование автофильтра

    Использование стрелок раскрывающегося списка для изменения фильтра в диапазонах, если применяются автофильтры.

    Примечание: Пользователи не смогут применять или удалять автофильтры на защищенном листе независимо от настройки этого параметра.

    использование отчетов сводной таблицы

    Форматирование, изменение макета, обновление данных либо иное изменение отчетов сводной таблицы, а также создание отчетов.

    изменение объектов

    Выполнять следующие действия:

    • Внесение изменений в графические объекты, в том числе карты, встроенные диаграммы, фигуры, надписи и элементы управления, которые не были разблокированы перед установкой защиты листа. Например, если на листе есть кнопка, запускающая макрос, ее можно нажать, чтобы запустить макрос, но нельзя удалить.

    • Внесение каких-либо изменений (например, форматирование) во встроенную диаграмму. Диаграмма по-прежнему будет обновляться при изменениях ее исходных данных.

    • Добавлять и редактировать заметки.

    изменение сценариев

    Просмотр скрытых сценариев, изменение сценариев с установленным запретом на изменения и удаление этих сценариев. Пользователи могут изменять значения в изменяемых ячейках, если ячейки не защищены, и добавлять новые сценарии.

    Примечания

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

    • ActiveX элементы управления формы, фигуры, диаграммы, smartArt, спарклайны, срезы, временные шкалы и другие элементы управления уже заблокированы при их добавлении в таблицу. Однако блокировка работает только в том случае, если вы включаете защиту листа. Дополнительные сведения см. в теме Защита элементов управления и связанных ячеек на сайте.

Отключить или приостановить лист можно двумя способами.

Отключение защиты

  1. Выберите Просмотр> Управление защитой.

  2. Чтобы отключить защиту, в области задач Управление защитой отключите защиту листа.

    Отключение защиты листа

Приостановка защиты

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

  1. Чтобы приостановить защиту листа, выберите просмотр > Приостановка защиты.

    Защита листа прио ветвью. Если на листе есть пароль защиты, его необходимо ввести, чтобы приостановить защиту.

  2. Чтобы возобновить защиту листа, выберите просмотр > возобновить защиту.

    Resuming sheet protection

Если лист защищен (Лист1), в нижней части листа отображается значок блокировки, а в случае приостановки (Лист2) — незаблокировка значка.

Защита листа

См. также

Защита и безопасность в Excel

Защита файла Excel

Защита книги

Блокировка и разблокировка определенных областей защищенного листа

Блокировка ячеек

Отображение и скрытие формул

Защита элементов управления и связанных ячеек на сайте

Копирование и вставка данных на защищенном листе

Видео: защита книг и книг паролем (Excel 2013)

запрет на удаление/добавление строк/столбцов

mihail5363

Дата: Пятница, 24.02.2017, 21:14 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

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

 

Ответить

Karataev

Дата: Пятница, 24.02.2017, 21:17 |
Сообщение № 2

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Без макросов с помощью защиты: вкладка Рецензирование — Защитить лист — уберите флажки «вставку столбцов», «вставку строк» — OK.


Киви-кошелек: 9166309108

 

Ответить

mihail5363

Дата: Суббота, 25.02.2017, 07:39 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Спасибо за ответ. Как я вас понял, вы предлагаете не делать защиту на «вставку столбцов» и «вставку строк», а оставить защиту только на «удаление столбцов» и «удаление строк», но такая защита блокирует обычное копирование данных в ячейки, а мне необходимо чтоб это функция осталось. Если перед защитой листа (только с галочками «вставку столбцов» и «вставку строк»), с необходимых для меня ячеек, снять галочку «защищаемая ячейка», то так же пропадает функция обычного копирования данных в ячейки. В общем через стандартные настройки это не получается сделать, попробуйте сами.

 

Ответить

Karataev

Дата: Суббота, 25.02.2017, 07:44 |
Сообщение № 4

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

Я неточно написал. Также уберите флажки «удаление столбцов», «удаление строк».
В прикрепленном файле у Вас получается копировать?


Киви-кошелек: 9166309108

Сообщение отредактировал KarataevСуббота, 25.02.2017, 07:47

 

Ответить

mihail5363

Дата: Суббота, 25.02.2017, 08:59 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

hands работает. большое спасибо. теперь я понял как это все настраивается.

 

Ответить

Karataev

Дата: Суббота, 25.02.2017, 09:07 |
Сообщение № 6

Группа: Проверенные

Ранг: Старожил

Сообщений: 1330


Репутация:

528

±

Замечаний:
0% ±


Excel

В файле я сделал следующее:
1) выделил все ячейки листа — вкладка Главная — группа Ячейки — Формат — Формат ячеек — вкладка Защита — убрал флажок «Защищаемая ячейка» — OK
2) установил защиту: вкладка Рецензирование — Защитить лист — никакие флажки я не трогал (оставил так, как есть) — OK


Киви-кошелек: 9166309108

 

Ответить

mihail5363

Дата: Суббота, 25.02.2017, 09:12 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Спасибо за разъяснение и за преложенный файл. Я по файлу это все сразу увидел и понял как вы сделали. Я ранее не правильно понимал принцип этих настроек.

 

Ответить

Skip to content

Как защитить все листы в файле

На чтение 2 мин. Просмотров 2.8k.

Что делает макрос: Вы можете защитить все листы в файле
перед тем, как распространить свои книги.
Вместо того чтобы защищать каждый лист вручную, вы можете использовать этот макрос.

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как работает этот код
  4. Как использовать

Как макрос работает

В этом макросе вы выбираете листы и просто применяете защиту с помощью пароля.
Пароль аргумент определяет пароль, необходимый для снятия защиты. Аргумент Пароль не является обязательным. Если его вообще опустить, лист по-прежнему будет защищен; вам просто не нужно будет вводить пароль для снятия его защиты. Кроме того, следует помнить, что пароли Excel чувствительны к регистру.

Код макроса

Sub ZaschititVseListi()
 'Шаг 1: Объявляем переменные
 Dim ws As Worksheet
 'Шаг : Запускаем цикл через все рабочие листы
 For Each ws In ActiveWorkbook.Worksheets
 'Шаг 3: Ставим защиту и переходим к следующему листу
 ws.Protect Password:="КРАСНЫЙ"
 Next ws
 End Sub

Как работает этот код

  1. Шаг 1 объявляет объект под названием WS. Он создает контейнер памяти для каждого рабочего листа.
  2. Шаг 2 начинает процесс в Excel — проходит через все рабочие листы.
  3. На шаге 3, макрос применяет защиту с данным паролем, а затем возвращается обратно, чтобы получить рабочий лист.

Как использовать

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши personal.xlb в окне Project.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.

Хотя в Excel реализована общая защита рабочих книг и листов, этот грубый инструмент не может предоставить пользователям ограниченные привилегии — если только вы не примените какие-то трюки.

Управлять взаимодействием пользователей с вашими электронными таблицами можно путем наблюдения и ответов на события. События — это действия, которые происходят по мере того, как вы работаете с книгами и листами. Наиболее часто происходящие события — это открытие рабочей книги, ее сохранение и закрытие после завершения работы. Вы можете заставить Excel автоматически выполнять некоторый код Visual Basic в момент, когда происходит одно из этих событий.
[stextbox id=»warning»]Пользователи могут обойти эту защиту, полностью отключив макросы. Если они выберут уровень безопасности Средняя (Medium), то во время открытия рабочей книги увидят сообщение о наличии в ней макроса и предложение отключить макросы. На уровне безопасности Высокая (High) макросы будут полностью отключены автоматически. С другой стороны, если в электронной таблице будет необходимо применять макросы, пользователи, вероятно, включат использование макросов. Эти трюки представляют собой просто удобную возможность и не обеспечивают мощной защиты данных.[/stextbox]

Отключение в рабочей книге команды Сохранить как

Можно сделать так, чтобы все рабочие книги сохранялись в режиме «только для чтения». Для этого в настройках Файл → Сохранить (File → Save) нужно установить флажок Только для чтения (Read-only recommended). Так вы запретите пользователю сохранять изменения, которые он может внести в файл. Пользователь сможет сохранить измененный файл только под другим именем или в другой папке.

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

Событие Before Save, которое вы будете использовать в следующем коде, было впервые создано в Excel 97. Как предполагает его имя, это событие происходит перед сохранением рабочей книги, позволяя вам поймать действия пользователя еще перед этим фактом, выдать предупреждение и запретить Excel сохранять файл.
[stextbox id=»warning»]Перед тем как пытаться выполнить следующий трюк, обязательно сначала сохраните рабочую книгу. Если вы напишете этот код до того, как сохраните книгу, то не сможете более сохранять изменения.[/stextbox]
Чтобы написать код, откройте рабочую книгу, правой кнопкой мыши щелкните значок Excel слева от меню Файл (File) в строке меню рабочего листа и выберите пункт Исходный текст (View Code).
[stextbox id=»warning»]На Маc воспользоваться таким быстрым доступом нельзя. Необходимо открыть редактор Visual Basic (Visual Basic Editor, VBE), нажав сочетание клавиш Option+Fll или выбрав команду Tools → Macro → Visual Basic Editor. Открыв редактор, щелкните на нем, удерживая клавишу Ctrl, или щелкните правой кнопкой мыши пункт This Workbook в окне Projects.[/stextbox]
Введите в VBE следующий код и нажмите сочетание клавиш Alt/Apple+Q, чтобы вернуться в Excel.

1
2
3
4
5
6
7
8
9
10
11
// Листинг 1.3
Private Sub workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lReply As Long
  If SaveAsUI = True Then
      lReply = MsgBox("К сожалению, вы не можете сохранить эту книгу под этим имеенм. " _
                     & "Сохранить под другим именем?.", vbQuestion + vbOKCancel)
     Cancel = (lReply = vbCancel)
   If Cancel = False Then Me.Save
     Cancel = True
  End If
End Sub

Проверьте, что получилось. Выберите команду Файл → Сохранить (File → Save); ваша рабочая книга будет сохранена. Выбрав команду Файл → Сохранить как (File → Save As), вы увидите сообщение о том, что эту книгу запрещено сохранять под другим именем.

Запрет печати рабочей книги

Иногда возникает необходимость запретить пользователям печатать рабочую книгу, устраняя, таким образом, вероятность попадания ее в мусорную корзину или куда-нибудь на всеобщее обозрение. При помощи события Excel Before Print можно отследить и предупредить действия пользователя. Как и ранее, введите в VBE код из листинга 1.4.

1
2
3
4
5
// Листинг 1.4
Private Sub workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    MsgBox "К сожалению, вы не можете печатать этот файл", vbInformation
End Sub

Закончив ввод кода, нажмите сочетание клавиш Alt/Apple+Q, чтобы сохранить его и вернуться в Excel. Теперь каждый раз, когда пользователи будут пытаться напечатать эту рабочую книгу, ничего не случится. Строка сообщения MsgBox не обязательна, но всегда полезно включать ее, хотя бы для того, чтобы проинформировать пользователя и он не начал докучать компьютерному отделу, сообщая об ошибке в программе.

Если вы хотите, чтобы пользователи не могли печатать только определенные листы в книге, вместо предыдущего кода используйте тот, который показан в листинге 1.5.

1
2
3
4
5
6
7
8
// Листинг 1.5
Private Sub workbook_BeforePrint(Cancel As Boolean)
    Select Case ActiveSheet.Name
        Case "Sheet1", "Sheet2"
            Cancel = True
            MsgBox "К сожалению, вы не можете распечатать лист из этой книги", vbInformation
    End Select
End Sub

Обратите внимание, что печать будет остановлена только для листов Sheet1 и Sheet2. Конечно, имена листов вашей рабочей книги могут быть любыми. Чтобы добавить их в список кода, запишите их в кавычках, разделяя запятыми. Если вы хотите запретить печать только одного листа, укажите только одно название в кавычках, не ставя запятую.

Запрещение добавлять рабочие листы

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

1
2
3
4
5
6
7
// Листинг 1.6
Private Sub Workbook_NewSheet(ByVal Sh As Object)
 Application.DisplayAlerts = False
    MsgBox "К сожалению, вы не можете добавить больше листов в эту книгу", vbInformation
    Sh.Delete
 Application.DisplayAlerts = True
End Sub

Сначала этот код выводит окно с сообщением, а затем, как только пользователь щелкает кнопку ОК, сразу же удаляет только что добавленный лист. Строка Application.DisplayAlerts = False запрещает вывод стандартного предупреждения Excel, которое спрашивает, действительно ли пользователь хочет удалить лист. Теперь пользователи не смогут добавлять листы в рабочую книгу.

Еще один способ запретить пользователям добавлять листы — выбрать команду Сервис → Защита → Защитить книгу (Tools → Protection → Protect Workbook). Удостоверьтесь, что флажок Структуру (Structure) установлен, и щелкните на кнопке ОК. Однако, как мы уже упоминали в начале этого раздела, стандартная защита рабочих листов в Excel — это весьма грубый инструмент, который одновременно блокирует и множество других возможностей Excel.

Программа Microsoft Excel предлагает создателям электронных таблиц несколько вариантов их защиты. Можно выбрать ряд участков для блокировки редактирования, целый лист или даже всю книгу, чтобы сохранить ее структуру. Каждый из этих способов будет актуален в разных ситуациях, поэтому предлагаю остановиться на каждом, чтобы вы в любой момент могли подобрать подходящий для себя и реализовать защиту.

Защита диапазона в Microsoft Excel

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

  1. Сначала откройте таблицу, в которой собираетесь производить изменения. Затем перейдите на вкладку «Рецензирование» и разверните меню «Защита».Открытие меню для установки пароля на диапазон электронной таблицы в Microsoft Excel

  2. В нем выберите вариант «Разрешить изменение диапазонов».Вызов окна с настройкой для установки пароля на диапазон электронной таблицы в Microsoft Excel

  3. Появится новое окно, в котором вас интересует кнопка «Создать».Переход к выбору ячеек для установки пароля на диапазон электронной таблицы в Microsoft Excel

  4. После нажатия по ней понадобится выбрать ячейки для диапазона, который будет входить в защиту.Выбор ячеек для установки пароля на диапазон электронной таблицы в Microsoft Excel

  5. Если для него устанавливается пароль, понадобится его еще раз подтвердить. Запомните этот пароль или запишите где-то, поскольку сбросить его без предварительного ввода нельзя.Подтверждение ввода для установки пароля на диапазон электронной таблицы в Microsoft Excel

Точно таким же образом вы можете выбирать неограниченное количество диапазонов для защиты, устанавливая для каждого из них свой пароль. Некоторые области можно оставить свободными для редактирования. Такой подход оптимален в тех ситуациях, когда таблицу будут использовать другие юзеры для своих нужд, но они не должны вносить критические изменения, из-за которых может нарушиться весь расчетный процесс.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Защита листа в Microsoft Excel

В некоторых случаях одними диапазонами защита не заканчивается, поскольку нужно обезопасить от внесения изменений целый лист. Тогда понадобится активировать другую функцию с установкой пароля, которая имеет множество дополнительных опций. Эти опции могут пригодиться при коллективной работе над электронной таблицей.

  1. Сначала вызовите меню настройки через раздел «Защита» на той же вкладке «Рецензирование». Понадобится нажать по кнопке «Защитить лист».Вызов меню для установки пароля на лист электронной таблицы в Microsoft Excel

  2. В новом окне сначала рекомендую сразу указать пароль, вписав его в соответствующее поле. Еще раз повторюсь, что его нужно обязательно запомнить или записать. Учитывается как раскладка клавиатуры, так и регистр символов.Ввод ключа в поле для установки пароля на лист электронной таблицы в Microsoft Excel

  3. Ниже вы найдете целый список с дополнительными параметрами защиты. Если галочки возле пунктов стоят, значит, для них установлено разрешение. Вы можете запретить пользователям выделять заблокированные ячейки, форматировать их, удалять, вставлять столбцы и строки. Все это осуществляется исключительно по личному предпочтению.Выбор дополнительных параметров для установки пароля на лист электронной таблицы в Microsoft Excel

  4. Перед сохранением изменений Эксель попросит еще раз ввести пароль, чтобы вы его точно запомнили. С этого момента лист будет защищен.Подтверждение ключа для установки пароля на лист электронной таблицы в Microsoft Excel

  5. Если пользователь попытается его редактировать или выполнить другое запрещенное действие, появится уведомление, что это невозможно, а снятие защиты доступно только после внесения изменений в настройках.Информация после установки пароля на лист электронной таблицы в Microsoft Excel

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

Защита книги в Microsoft Excel

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

  1. В том же меню «Защита» выберите пункт «Защитить книгу».Вызов меню для установки пароля на книгу электронной таблицы в Microsoft Excel

  2. В появившемся окне введите пароль и решите, нужно защитить структуру или окна. Подтвердите свое действие нажатием на «ОК».Ввод ключа для установки пароля на книгу электронной таблицы в Microsoft Excel

  3. Как и в прошлые разы, введенный пароль придется подтвердить, чтобы вы точно убедились в правильности его ввода.Применение изменений для установки пароля на книгу электронной таблицы в Microsoft Excel

После выполненных действий вы можете не беспокоиться о том, что кто-то, имеющий совместный доступ к документу, несанкционированно внесет изменения. Соответственно, если нужно кому-то предоставить такое право, просто сообщите пароль, которым и снимается блокировка.

Читайте также

Как сделать список внутри ячейки в Microsoft Excel

Как добавить примечания в Microsoft Excel

Защита Excel-файла

Существует совершенно другой тип защиты электронной таблицы, подразумевающий установку пароля на весь файл, то есть без предварительного ввода ключа его даже нельзя будет открыть для просмотра. Включается такая защита при сохранении документа или через сторонние сервисы. Более детально эта тема раскрыта в другой моей статье: Как поставить пароль на Excel-файл.

Изменение настроек при сохранении для установки пароля на файл электронной таблицы в Microsoft Excel

Это была вся информация о защите данных в Microsoft Excel, которую я хотел рассказать в рамках статьи. Используйте инструкции по своему усмотрению, если хотите обезопасить электронные таблицы при наличии совместного доступа.

Excel VBA запретить удаление ячеек, но разрешить редактирование

Я сделал электронную таблицу, в которой пользователь может ввести почтовый индекс и количество в 2 ячейки, и у меня есть другие ячейки, выполняющие вычисления и отображающие результаты.

Я добавил некоторые VBA, чтобы никто не удалял строки и столбцы, но я хотел бы предотвратить удаление любой ячейки в пределах диапазона, а также позволить пользователю вносить изменения в определенные ячейки, но также предотвратить редактирование ячеек с формулой там.

В ячейке E4 пользователь может ввести почтовый индекс. В E6 пользователь может ввести количество. Их можно редактировать, но не удалять. E8:E9 и E11:E14 — это все выпадающие списки (проверка), которые содержат данные из списков. Они могут быть изменены с помощью выпадающего списка, но не удалены.

L10:L14 , L16 , L23:L27 , L29 , L30:L33 могут быть изменены, но не удалены.

Как будет выглядеть VBA для этого? Я думаю, что он будет использовать Worksheet_Change() event .

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Может отобразиться диалоговое окно, где следует отметить галочкой Больше не показывать и сохранить изменения с помощью кнопки ОК. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Может возникнуть вопрос: а зачем вообще делать такой разрыв? Иногда нужно некоторую часть документа распечатать отдельно от остальных данных. В таком случае может понадобиться разметка страницы в Эксель :

Как убрать разметку страницы в Excel 2010 — простые шаги

Чтобы открыть скрытый лист обратно мы также в нижней панели правой кнопкой мыши щелкаем по любому из листов и выбираем команду Показать. В появившемся окне можно посмотреть все невидимые листы книги (даже если он всего один) и выбрать какой именно лист необходимо вывести на экран:

Как убрать разрыв?

Может возникнуть вопрос: а зачем вообще делать такой разрыв? Иногда нужно некоторую часть документа распечатать отдельно от остальных данных. В таком случае может понадобиться разметка страницы в Эксель :

  1. В верхнем меню Excel переходим на вкладку «Разметка страницы».
  2. Нажимаем на кнопку «Разрывы» (в разных версиях программы она может располагаться в других местах, но суть от этого не меняется).
  3. Из раскрывающегося списка выбираем «Вставить…». А если нужно, наоборот, удалить разметку, то кликаем по надписи «Сброс…». Вот наглядный скрин:

Три шага удаления разметки таблицы

Вы могли заметить в меню еще один пункт – «Удалить…». Он устраняет только один разрыв на странице, которая активна (выделена курсором) в данный момент.

Excel VBA запретить удаление ячеек, но разрешить редактирование — CodeRoad

Спасибо, это то, что я хочу сделать. А как насчет других диапазонов? Это просто случай нагрузок IF THEN или мы можем использовать CASE и перебирать циклы? – AdRock 2 минуты назад

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Может отобразиться диалоговое окно, где следует отметить галочкой Больше не показывать и сохранить изменения с помощью кнопки ОК. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Чтобы открыть скрытый лист обратно мы также в нижней панели правой кнопкой мыши щелкаем по любому из листов и выбираем команду Показать. В появившемся окне можно посмотреть все невидимые листы книги (даже если он всего один) и выбрать какой именно лист необходимо вывести на экран:
Как снять пароль с файла или листа в Excel: полный разбор

  • Может отобразиться диалоговое окно, где следует отметить галочкой «Больше не показывать…» и сохранить изменения с помощью кнопки ОК.
  • Теперь читаем внимательно: для удаления вертикального разрыва, следует выделить весь столбец (кликнуть по соответствующей букве в верхнем ряду), расположенный по правую сторону от линии. Для удаления горизонтальной разметки – выделяем строку (кликнуть по соответствующей цифре в боковом столбце), которая находится ниже линии.

Как проверить, что защита снята? Для этого посмотрите на кнопку, которую вы только что нажали – вы увидите другую надпись: «Защитить лист». Это очень удобно – вы можете постоянно блокировать и разблокировать лист.

Вариант 2: Меню «Проверка вводимых значений»

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

Переход к окну проверки данных для удаления раскрывающегося списка в Excel

Выделите список левой кнопкой мыши, перейдите на вкладку «Данные» и откройте окно «Проверка данных».

Кнопка Очистить все для удаления раскрывающегося списка в Excel

Слева внизу вы увидите кнопку «Очистить все», которая и удаляет все выставленные условия проверки, то есть в данном случае – выпадающий список.

Провера результата в окне для удаления раскрывающегося списка в Excel

Теперь вы увидите, что тип данных изменился на «Любое значение» и пропала строка со значениями списка.

Последнее значение ячейки для удаления раскрывающегося списка в Excel

Вернитесь к таблице и проверьте результативность выполненных действий.

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Я так и не смог найти простой инструкции или обработки, чтобы выгрузить из 1С Управление торговлей 11 номенклатуру вместе со штрихкодами, поэтому решил написать собственную инструкцию. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

Часто возникает задача, когда уже вся НСИ загружена и необходимо перегрузить регистры сведений с большим количеством строк (около миллиона строк). Перегрузка может быть из любой информационной системы (на 1С или нет). Для себя определил максимальной быстрый вариант выгрузки/загрузки — через файл Excel с учетом возможности предварительной правки и просмотра результата загрузки.

Как снять защиту с листа Excel: 4 способа

По работе приходится часто выгружать данные в Excel формате. При большом количестве строк и формул этот процесс достаточно длительный. Решил написать для своих целей небольшую библиотечку для выгрузки данных. Используется технология open-xml. Никаких библиотек не надо, пишу напрямую в xml файлики. На данном этапе сделано форматирование, формулы.

Способ 2: Разблокируем отдельный лист

Второй вариант, когда блокировка висит именно на выделенной странице. Причем блокировку мог установить сам автор, чтобы нечаянно не изменить некоторые данные (сам так частенько делаю). Зайдите на вкладку «Рецензирование» и в разделе «Изменения» (справа) находим кнопку с надписью «Снять защиту листа».

Как снять пароль с файла или листа в Excel: полный разбор

Второй вариант – это нажать «Файл», как мы это делали в первом способе. Далее открыть меню «Защиты книги» и выбрать пункт «Защитить текущий лист».

Как снять пароль с файла или листа в Excel: полный разбор

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

ПРИМЕЧАНИЕ! Если вы не помните пароль, то смотрим следующую инструкцию.

Как снять пароль с файла или листа в Excel: полный разбор

Как проверить, что защита снята? Для этого посмотрите на кнопку, которую вы только что нажали – вы увидите другую надпись: «Защитить лист». Это очень удобно – вы можете постоянно блокировать и разблокировать лист.

Как снять пароль с файла или листа в Excel: полный разбор

специалист

Мнение эксперта

Витальева Анжела, консультант по работе с офисными программами

Со всеми вопросами обращайтесь ко мне!

Задать вопрос эксперту

Представленная ниже надстройка для Excel позволяет облегчить и ускорить некоторые манипуляции, совершаемые с листами рабочих книг. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!

В Excel можно поставить защиту на лист и запретить изменение ячеек. Также можно запретить менять структуру книги, перемещение и переименование листов. Иногда это здорово, а иногда очень мешает. Например, когда в файле имеется ошибка, он работает неправильно, а вы не можете ее исправить. Или когда пароль забыт, а его требуется снять.

Удаление из файла эксель ненужных страниц средствами 1С без COM и через COM

  1. В первом разделе «Сведения» выбираем кнопку в подразделе «Защита книги» (значок замочка и ключика). После этого из списка кликаем «Зашифровать с использованием пароля». В более старых версиях Microsoft Word пункт называется: «Зашифровать паролем».

Детальную информацию о том, как производится создание раскрывающегося списка, вы найдете в другой статье. Она пригодится, если вдруг после удаления одного перечня вы задумали создать другой, с отличающимися или такими же значениями.

Понравилась статья? Поделить с друзьями:
  • Запрет переноса строк в таблице word
  • Запрет висячих строк в excel
  • Запуск excel 1 microsoft excel 2 пуск 3 программы
  • Запрет обновления полей в word
  • Запрет висячие строки в word что это