Zabezpečení Excelu je pro vaši práci poměrně důležité. V tomto článku představíme metodu nastavení různých oprávnění pro různé uživatele pomocí Excel VBA.
V našem předchozím článku Jak vytvořit přihlašovací okno k ochraně sešitu aplikace Excel, představili jsme metodu vytvoření přihlašovacího okna pro váš excelový sešit. Pokud však k dokumentu potřebuje získat přístup několik uživatelů, musíte provést další nastavení. Kromě toho musíte zaručit, že tito uživatelé neprovedou v souboru špatné změny. Nyní postupujte podle níže uvedených kroků a zjistěte, jak tento úkol dokončit.
Nastavte různá oprávnění
Předpokládejme, že nyní tři obchodní zástupci potřebují tento soubor upravit. Jméno a heslo jsou nastaveny jako na obrázku níže:
A každý člověk bude muset upravit určitý pracovní list.
- Stisknutím klávesových zkratek „Alt + F11“ na klávesnici otevřete editor jazyka.
- A poté vložte nový uživatelský formulář do editoru.

- V tomto kroku vložte do uživatelského formuláře dva štítky, dvě textová pole a dvě tlačítka.
- A pak změňte popisek pro uživatelský formulář a ty prvky, které vložíte v kroku 3. Můžete se také podívat na obrázek níže:
- Poté změňte „PasswordChar“ na „*“ pro druhé textové pole.
- Poté dvakrát klikněte na uživatelský formulář.
- Dále zadejte do modulu následující kódy:
Private Sub CommandButton1_Click() Dim objTargetWorksheet As Worksheet If (TextBox1.Value = "John" And TextBox2.Value = "234") _ Or (TextBox1.Value = "Amy" And TextBox2.Value = "345") _ Or (TextBox1.Value = "Paul" And TextBox2.Value = "456") Then Me.Hide: Application.Visible = True For Each objTargetWorksheet In ActiveWorkbook.Worksheets If objTargetWorksheet.Name = TextBox1.Value Then objTargetWorksheet.Unprotect Password:=12345 Else objTargetWorksheet.Protect Password:=12345, DrawingObjects:=True, Contents:=True, Scenarios:=True End If Next Else MsgBox "Please input the right user name and the right password" End If End Sub Private Sub CommandButton2_Click() ThisWorkbook.Application.Quit End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ThisWorkbook.Application.Quit End Sub
V kódech ochráníme další pracovní listy. A uživatelé mohou upravovat pouze odpovídající listy. Hesla si také můžete změnit podle svých potřeb.
- Poté dvakrát klikněte na „ThisWorkbook“ v projektu VBA.
- A pak do něj vložte následující kódy:
Private Sub Workbook_Open() Application.Visible = False: UserForm1.Show End Sub
- Abyste zabránili uživatelům upravovat kódy VBA, musíte pro projekty VBA nastavit heslo. V našem předchozím článku Jak chránit kódy VBA heslem v listu aplikace Excel, zavedli jsme metody. Můžete také nastavit speciální heslo.
- Nakonec tento soubor Excel uložte.
- Při příštím otevření souboru se uživatelský formulář nezobrazí. V souboru musíte kliknout na tlačítko „Povolit obsah“.
- Poté uvidíte okno „Přihlásit se“. Do dvou textových polí zadejte jméno a heslo.
- Poté klikněte v okně na tlačítko „Přihlásit se“.
V tuto chvíli může John upravit pouze svůj pracovní list. Není schopen změnit jiné listy nebo kódy VBA. Navíc kromě tří obchodních zástupců nemůže nikdo jiný tento soubor otevřít bez hesla. Až budete mít příště takový požadavek, můžete také nastavit takové přihlašovací okno pro sešit.
Rozpoznejte problém korupce v Excelu
Někdy se Excel poškodí v důsledku řady faktorů. Než začnete opravovat soubory, musíte identifikovat problém a důvody, proč došlo k poškození dat. Kromě toho, pokud o obnově dat nic nevíte, můžete... opravit poškozený Excel xlsx pomocí nástroje třetí strany. Díky špičkovému algoritmu si tento nástroj poradí s téměř všemi chybami v Excelu.
Úvod autora:
Anna Ma je expertem na obnovu dat v DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně opravit poškozený docx a výhledové softwarové produkty pro opravy. Pro více informací navštivte www.datanumen.com



