Přejít k hlavnímu obsahu

Jak nastavit hesla pro ochranu jednotlivých listů uživateli v Excelu?

V aplikaci Excel můžete nastavit různá hesla pro různé listy, což znamená, že jeden uživatel může provádět změny v jednom listu pomocí jednoho hesla a jiný může používat jiné heslo k provádění změn v jiném listu. Někdy však chcete, aby každý uživatel mohl prohlížet a přistupovat ke svému vlastnímu listu. Dá se to vyřešit v Excelu?


Chcete-li chránit každý list samostatně a omezit přístup uživatelů k listům, použijte níže uvedený kód VBA:

1. Otevřete nový sešit a vytvořte nový list s názvem „Hlavní“, viz snímek obrazovky:

2. Poté stiskněte tlačítko Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno, dvakrát klikněte Tato pracovní kniha zleva Projekt-VBAProjekt otevřete prázdný modul kódu a poté zkopírujte a vložte následující kód VBA do okna kódu, viz snímek obrazovky:

Kód VBA: Nastavte hesla pro ochranu jednotlivých listů uživateli

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. Poté umístěte kurzor na konec Soukromá podřízená sešit_Open () skript a stiskněte F5 klíč ke spuštění tohoto kódu. Nyní do vyskakovacího pole výzvy zadejte uživatelské jméno, pro kterého chcete vytvořit list pro tohoto uživatele, viz snímek obrazovky:

4. A pak klikněte OK do následujícího pole výzvy zadejte heslo pro ochranu tohoto listu, viz snímek obrazovky:

5. Pokračujte kliknutím OK a okamžitě se vytvoří nový list s názvem uživatele a vy můžete vytvořit data pro tohoto uživatele, jak potřebujete. Viz snímek obrazovky:

6. Opakujte výše uvedený krok 3 – krok 5 pro vytvoření dalších listů jeden po druhém, které chcete použít.

7. Po vytvoření listů kliknutím uložte aktuální sešit Soubor > Uložit jako., V Uložit jako dialogovém okně zadejte název souboru a poté vyberte Sešit Excel podporující makra (* .xlsm) formát z formátu Uložit jako typ rozevírací seznam, viz screenshot:

8. Poté kliknutím na tlačítko Uložit tento soubor uložte.

9. A pak zavřete sešit a znovu jej otevřete, poté klikněte Povolit obsah v horní části řádku vzorců pro aktivaci kódu, viz snímek obrazovky:

10. Nyní se objeví okno s výzvou, které vám připomene zadat uživatelské jméno a heslo pro otevření konkrétního listu určitým uživatelem.

11. Nakonec, když posíláte tento sešit ostatním uživatelům, měli byste uživateli poslat uživatelské jméno a heslo. Budou otevírat a upravovat pouze své vlastní listy a nemají oprávnění prohlížet jiné listy.


  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce a uchovávání údajů; Rozdělit obsah buněk; Zkombinujte duplicitní řádky a součet / průměr... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Oblíbené a rychlé vkládání vzorců„Rozsahy, grafy a obrázky; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Seskupování kontingenčních tabulek podle číslo týdne, den v týdnu a další ... Zobrazit odemčené, zamčené buňky různými barvami; Zvýrazněte buňky, které mají vzorec / název...
karta kte 201905
  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
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