Hoppa till huvudinnehåll

Hur ställer man in lösenord för att skydda enskilda kalkylblad av användare i Excel?

Författare: Xiaoyang Senast ändrad: 2024-12-05

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:

En skärmdump av huvudarket i Excel där det första kalkylbladet skapas

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

En skärmdump av Visual Basic for Applications-fönstret med VBA-koden för att ställa in lösenord för enskilda ark

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:

En skärmdump av rutan som frågar efter ett användarnamn för att skapa ett nytt ark i Excel

4. Och klicka sedan på OK knapp, i följande uppmaningsruta, ange ett lösenord för att skydda detta ark, se skärmdump:

En skärmdump av meddelanderutan som ber om ett lösenord för att skydda det nyskapade arket i Excel

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:

En skärmdump av det nyskapade arket som är uppkallat efter användaren i Excel

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:

En skärmdump av dialogrutan Spara som i Excel, som visar rullgardinsmenyn Spara som typ för Excel Macro-Enabled Workbook (*.xlsm)

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:

En skärmdump av knappen Aktivera innehåll i Excel för att aktivera VBA-koden

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

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

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!