Hoe stel je wachtwoorden in om individuele werkbladen voor verschillende gebruikers te beveiligen in Excel?
In Excel kun je verschillende wachtwoorden instellen voor verschillende werkbladen. Dit betekent dat één gebruiker wijzigingen kan aanbrengen in een werkblad met behulp van één wachtwoord, terwijl een andere gebruiker een ander wachtwoord kan gebruiken om wijzigingen aan te brengen in een ander werkblad. Maar soms wil je gewoon dat elke gebruiker alleen hun eigen blad kan bekijken en openen. Is dit mogelijk om op te lossen in Excel?
Om elk werkblad afzonderlijk te beveiligen en de toegang tot de werkbladen door gebruikers te beperken, pas dan de volgende VBA-code toe:
1. Open een nieuw werkboek en maak een nieuw werkblad met de naam “Hoofdwerkblad”, zie screenshot:
2. Druk vervolgens op de toetsen "Alt" + "F11" om het venster "Microsoft Visual Basic for Applications" te openen, dubbelklik op "DitWerkboek" in het linkerpaneel "Project-VBAProject" om een lege codemodule te openen, en kopieer en plak vervolgens de volgende VBA-code in het codevenster, zie screenshot:
VBA-code: Stel wachtwoorden in om individuele werkbladen door gebruikers te beveiligen
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. Plaats vervolgens de cursor aan het einde van het script "Private Sub Workbook_Open()", en druk op de toets "F5" om deze code uit te voeren. Nu verschijnt er een pop-up venster waarin je de gebruikersnaam invoert waarvoor je een werkblad wilt maken, zie screenshot:
4. Klik vervolgens op de knop "OK", en voer in het volgende pop-up venster een wachtwoord in om dit werkblad te beveiligen, zie screenshot:
5. Klik verder op de knop "OK", en er wordt onmiddellijk een nieuw werkblad aangemaakt met de gebruikersnaam, en je kunt de gegevens voor die gebruiker invoeren zoals je nodig hebt. Zie screenshot:
6. Herhaal stap 3 tot en met stap 5 om andere werkbladen één voor één aan te maken die je wilt gebruiken.
7. Nadat je de werkbladen hebt aangemaakt, sla je het huidige werkboek op door te klikken op "Bestand" > "Opslaan als". In het dialoogvenster "Opslaan als", geef je een bestandsnaam op en kies je "Excel Macro-Enabled Workbook (*.xlsm)" formaat in de vervolgkeuzelijst "Opslaan als type", zie screenshot:
8. Klik vervolgens op de knop Opslaan om dit bestand op te slaan.
9. Sluit het werkboek vervolgens en open het opnieuw, klik daarna op "Inhoud inschakelen" bovenaan de formulebalk om de code te activeren.
10. Nu verschijnt er een pop-up venster waarin je wordt gevraagd een gebruikersnaam en wachtwoord in te voeren om het specifieke werkblad door een bepaalde gebruiker te openen.
11. Tot slot, wanneer je dit werkboek naar andere gebruikers stuurt, moet je de gebruikersnaam en het wachtwoord naar de gebruiker sturen. Ze kunnen alleen hun eigen werkbladen openen en bewerken en hebben geen toestemming om andere werkbladen te zien.
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!