Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

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


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

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

A screenshot of the Main sheet in Excel where the first worksheet is created

2. Затем нажмите клавиши "Alt" + "F11", чтобы открыть окно "Microsoft Visual Basic for Applications", дважды щелкните "ThisWorkbook" в левой панели "Project-VBAProject", чтобы открыть пустой модуль кода, затем скопируйте и вставьте следующий код 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

A screenshot of the Visual Basic for Applications window with the VBA code to set passwords for individual sheets

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

A screenshot of the prompt box asking for a user name to create a new sheet in Excel

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

A screenshot of the prompt box asking for a password to protect the newly created sheet in Excel

5. Продолжайте нажимать кнопку "OK", и новый лист с именем пользователя будет создан сразу же, и вы сможете создать данные для этого пользователя по мере необходимости. См. скриншот:

A screenshot of the newly created sheet named after the user in Excel

6. Повторите шаги 3–5 для создания других листов по одному.

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

A screenshot of the Save As dialog box in Excel, showing the Save as type dropdown list for Excel Macro-Enabled Workbook (*.xlsm)

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

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

A screenshot of the Enable Content button in Excel to activate the VBA code

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

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

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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