Прескочи на основното съдържание

Как да зададете пароли за защита на отделни работни листове от потребители в Excel?

Автор: Xiaoyang Последна промяна: 2022-09-23

В Excel можете да зададете различни пароли за различни листове, това означава, че един потребител може да прави промени в един работен лист с една парола, а друг може да използва различна парола, за да прави промени в друг работен лист. Но понякога просто искате всеки потребител да може да преглежда и осъществява достъп до своя собствен лист. Възможно ли е това да се реши в Excel?


За да защитите всеки работен лист поотделно и да ограничите достъпа до работните листове от потребителите, моля, приложете следния VBA код:

1. Отворете нова работна книга и създайте нов лист с име „Основен“, вижте екранната снимка:

2. След това натиснете Alt + F11 за да отворите Microsoft Visual Basic за приложения прозорец, щракнете два пъти Тази работна книга отляво Проект-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

3. След това поставете курсора в края на Частна подработна книга_Open() скрипт и натиснете F5 ключ за изпълнение на този код. Сега в изскачащото поле за подкана въведете потребителското име, което искате да създадете лист за този потребител, вижте екранната снимка:

4. И след това щракнете OK бутон, в следното поле за подкана въведете парола за защита на този лист, вижте екранната снимка:

5. Продължете да щракате OK и веднага се създава нов лист, наречен с потребителското име, и можете да създадете данните за този потребител, както ви е необходимо. Вижте екранна снимка:

6. Повторете горната стъпка 3 – стъпка 5 за създаване на други листове един по един, които искате да използвате.

7. След като създадете листовете, запазете текущата работна книга, като щракнете досие > Save As., в Save As диалогов прозорец, задайте име на файл и след това изберете Работна книга с активиран макрос на Excel (* .xlsm) формат от Запиши като тип падащ списък, вижте екранната снимка:

8. След това щракнете върху бутона Запазване, за да запазите този файл.

9. След това затворете работната книга и я отворете отново, след което щракнете Активиране на съдържанието в горната част на лентата с формули, за да активирате кода, вижте екранната снимка:

10. Сега ще изскочи поле за подкана, за да ви напомни да въведете потребителското име и паролата, за да отворите конкретния лист от определен потребител.

11. И накрая, когато изпращате тази работна книга на други потребители, трябва да изпратите потребителското име и паролата на потребителя. Те ще отварят и редактират само собствените си листове и нямат разрешение да виждат други работни листове.


  • Супер Формула Бар (лесно редактиране на няколко реда текст и формула); Оформление за четене (лесно четене и редактиране на голям брой клетки); Поставяне във филтриран диапазон...
  • Обединяване на клетки/редове/колони и съхраняване на данни; Съдържание на разделени клетки; Комбинирайте дублиращи се редове и сума/средно... Предотвратяване на дублиращи се клетки; Сравнете диапазони...
  • Изберете Дублиран или Уникален редове; Изберете Празни редове (всички клетки са празни); Super Find и Fuzzy Find в много работни тетрадки; Произволен избор...
  • Точно копие Множество клетки без промяна на референтната формула; Автоматично създаване на препратки към множество листа; Вмъкване на куршуми, квадратчета за отметка и други...
  • Любими и бързо вмъкнати формули, диапазони, диаграми и снимки; Шифроване на клетки с парола; Създаване на пощенски списък и изпращайте имейли...
  • Извличане на текст, Добавяне на текст, Премахване по позиция, Премахване на пространството; Създаване и отпечатване на междинни суми за пейджинг; Конвертиране на съдържание и коментари между клетки...
  • Супер филтър (запазване и прилагане на филтърни схеми към други листове); Разширено сортиране по месец/седмица/ден, честота и други; Специален филтър с удебелен шрифт, курсив...
  • Комбинирайте работни тетрадки и работни листове; Обединяване на таблици въз основа на ключови колони; Разделете данните на няколко листа; Пакетно конвертиране на xls, xlsx и PDF...
  • Групиране на обобщена таблица по номер на седмицата, ден от седмицата и други... Показване на отключени, заключени клетки с различни цветове; Маркирайте клетки, които имат формула/име...
kte tab 201905
  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
officetab отдолу
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How would you then allow for an admin user to see all of those password protected sheets?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations