Hur ställer man in lösenord för att skydda enskilda kalkylblad av användare i Excel?
I Excel kan du ställa in olika lösenord för olika ark, det betyder att en användare kan göra ändringar i ett kalkylblad med ett lösenord och en annan kan använda ett annat lösenord för att göra ändringar i ett annat kalkylblad. Men ibland vill du bara att varje användare ska kunna se och komma åt sitt eget ark. Är detta möjligt att lösa i Excel?
För att skydda varje kalkylblad individuellt och begränsa åtkomst till kalkylbladen för användare, använd nedanstående VBA-kod:
1. Öppna en ny arbetsbok och skapa ett nytt ark med namnet "Main", se skärmdump:
2. Tryck sedan på Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer dubbelklicka Denna arbetsbok från vänster Projekt-VBAProjekt rutan för att öppna en tom kodmodul, och kopiera och klistra sedan in följande VBA-kod i kodfönstret, se skärmdump:
VBA-kod: Ställ in lösenord för att skydda enskilda ark av användare
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. Placera sedan markören i slutet av Privat Sub Workbook_Open () och tryck på F5 nyckel för att köra den här koden. Ange nu användarnamnet som du vill skapa ett ark för den här användaren i den utfällda promptrutan, se skärmdump:
4. Och klicka sedan på OK knapp, i följande uppmaningsruta, ange ett lösenord för att skydda detta ark, se skärmdump:
5. Fortsätt klicka OK knappen, och ett nytt ark med namnet användarnamnet skapas på en gång, och du kan skapa data för den användaren efter behov. Se skärmdump:
6. Upprepa steg 3 – steg 5 ovan för att skapa andra ark en efter en som du vill använda.
7. När du har skapat arken sparar du den aktuella arbetsboken genom att klicka Fil > Spara som., I Spara som dialogrutan, ange ett filnamn och välj sedan Excel-makroaktiverad arbetsbok (*. Xlsm) format från Spara som rullgardinsmeny, se skärmdump:
8. Klicka sedan på knappen Spara för att spara den här filen.
9. Stäng sedan arbetsboken och öppna den igen, klicka sedan Aktivera innehåll överst i formelfältet för att aktivera koden, se skärmdump:
10. Nu kommer en uppmaningsruta att dyka upp för att påminna dig om att ange användarnamnet och lösenordet för att öppna det specifika arket av en viss användare.
11. Äntligen, när du skickar den här arbetsboken till andra användare, bör du skicka användarnamnet och lösenordet till användaren. De kommer bara att öppna och redigera sina egna ark och har inte behörighet att se andra kalkylblad.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!