KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как задать пароли для защиты отдельных листов Excel для разных пользователей?

АвторСяоянДата изменения

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


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

1. Откройте новую рабочую книгу и создайте новый лист с именем «Main» (см. снимок экрана):

Снимок экрана основного листа в Excel, где создан первый рабочий лист

2. Затем нажмите клавиши «Alt» + «F11», чтобы открыть окно Microsoft Visual Basic for Applications. В левой панели в разделе «Project-VBAProject» дважды щёлкните по элементу «ThisWorkbook», чтобы открыть пустой модуль кода, и вставьте туда приведённый ниже код VBA (см. снимок экрана):

Код VBA: задание паролей для защиты отдельных листов по пользователям

Option Explicit
Dim gUserName As String
Dim gUserPass As String
Private Sub Workbook_Open()
'Updateby ExtendOffice
Dim xWShs As Sheets
Dim xWSh As Worksheet
Dim xUserName As String
Dim xPass As String
Dim xBolH As Boolean
GTINPUT:
xUserName = InputBox("Enter the user name")
If TypeName(xUserName) = "String" Then
    If xUserName = "" Then
        Exit Sub
    End If
End If
xUserName = LCase(xUserName)
xPass = InputBox("User name:" & xUserName & Chr(13) & Chr(10) & "Enter the password:")
If TypeName(xPass) = "String" Then
    If xPass = "" Then
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
    End If
Else
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End If
Set xWShs = Worksheets
xBolH = False
For Each xWSh In Worksheets
    If xWSh.Name = xUserName Then
    xBolH = True
    Exit For
    End If
Next
If xBolH Then
Set xWSh = xWShs(xUserName)
On Error GoTo GTINPUT2
xWSh.Unprotect (xPass)
xWSh.Visible = True
xWSh.Activate
Else
Set xWSh = xWShs.Add
xWSh.Name = xUserName
xWSh.Activate
End If
gUserName = xUserName
gUserPass = xPass
Exit Sub
GTINPUT2:
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xWSh As Worksheet
On Error Resume Next
Set xWSh = Worksheets(gUserName)
xWSh.Protect Password:=gUserPass, DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
For Each xWSh In Worksheets
    If xWSh.Name <> "Main" Then
        xWSh.Visible = xlSheetVeryHidden
    End If
Next xWSh
ActiveWorkbook.Save
End Sub

Снимок экрана окна Visual Basic для приложений с кодом VBA для установки паролей отдельных листов

3. Затем установите курсор в конец скрипта «Private Sub Workbook_Open()» и нажмите клавишу «F5», чтобы запустить код. В появившемся диалоговом окне укажите имя пользователя, для которого нужно создать лист (см. снимок экрана):

Снимок экрана диалогового окна с запросом имени пользователя для создания нового листа в Excel

4. После этого нажмите кнопку «OK» и во вновь открывшемся диалоговом окне задайте пароль для защиты листа (см. снимок экрана):

Снимок экрана диалогового окна с запросом пароля для защиты вновь созданного листа в Excel

5. Нажмите кнопку «OK» — и новый лист с именем пользователя будет создан сразу же. Теперь вы можете добавить на него необходимые данные для этого пользователя (см. снимок экрана):

Снимок экрана вновь созданного листа с именем пользователя в Excel

6. Повторите описанные выше действия — с шага 3 по шаг 5 — чтобы последовательно создать остальные листы, которые вы хотите использовать.

7. После создания листов сохраните текущую книгу, выбрав «Файл» > «Сохранить как». В диалоговом окне «Сохранить как» укажите имя файла и выберите формат «Книга Excel с поддержкой макросов (*.xlsm)» из раскрывающегося списка «Тип файла» (см. снимок экрана):

Снимок экрана диалогового окна «Сохранить как» в Excel с раскрывающимся списком «Тип файла» для книги Excel с поддержкой макросов (*.xlsm)

8. Затем нажмите кнопку «Сохранить», чтобы сохранить файл.

9. После этого закройте книгу и откройте её снова, затем нажмите «Включить содержимое» в верхней части строки формул, чтобы активировать код.

Снимок экрана кнопки «Включить содержимое» в Excel для активации кода VBA

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

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

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек