Jak ustawić hasła, aby chronić poszczególne arkusze robocze przez użytkowników w programie Excel?
W programie Excel możesz ustawić różne hasła dla różnych arkuszy, co oznacza, że jeden użytkownik może wprowadzać zmiany w jednym arkuszu roboczym za pomocą jednego hasła, a inny może używać innego hasła do wprowadzania zmian w innym arkuszu. Czasami jednak po prostu chcesz, aby każdy użytkownik mógł wyświetlać i uzyskiwać dostęp do własnego arkusza. Czy można to rozwiązać w Excelu?
Aby chronić każdy arkusz z osobna i ograniczyć dostęp do arkuszy przez użytkowników, zastosuj poniższy kod VBA:
1. Otwórz nowy skoroszyt i utwórz nowy arkusz o nazwie „Główny”, zobacz zrzut ekranu:
2. Następnie naciśnij Alt + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications kliknij dwukrotnie Ten zeszyt z lewej Projekt-VBAProjekt okienko, aby otworzyć pusty moduł kodu, a następnie skopiuj i wklej następujący kod VBA do okna kodu, zobacz zrzut ekranu:
Kod VBA: Ustaw hasła, aby chronić poszczególne arkusze przez użytkowników
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. Następnie umieść kursor na końcu Private Sub Workbook_Open () skrypt i naciśnij F5 klucz, aby uruchomić ten kod. Teraz w wyskakującym oknie wpisz nazwę użytkownika, dla którego chcesz utworzyć arkusz dla tego użytkownika, zobacz zrzut ekranu:
4. A następnie kliknij OK przycisk, w następującym polu monitu wprowadź hasło do ochrony tego arkusza, patrz zrzut ekranu:
5. Kliknij dalej OK i nowy arkusz o nazwie z nazwą użytkownika jest tworzony od razu, a dane dla tego użytkownika można tworzyć zgodnie z potrzebami. Zobacz zrzut ekranu:
6. Powtórz powyższy krok 3 – krok 5, aby utworzyć kolejne arkusze jeden po drugim, których chcesz użyć.
7. Po utworzeniu arkuszy zapisz bieżący skoroszyt, klikając filet > Zapisz jako., W Zapisz jako w oknie dialogowym, podaj nazwę pliku, a następnie wybierz Skoroszyt programu Excel z obsługą makr (* .xlsm) format z Zapisz jako typ rozwijana lista, zobacz zrzut ekranu:
8. Następnie kliknij przycisk Zapisz, aby zapisać ten plik.
9. Następnie zamknij skoroszyt i otwórz go ponownie, a następnie kliknij Włącz treść u góry paska formuły, aby aktywować kod, zobacz zrzut ekranu:
10. Teraz pojawi się okno z przypomnieniem o wpisaniu nazwy użytkownika i hasła, aby otworzyć określony arkusz przez określonego użytkownika.
11. Na koniec wysyłając ten skoroszyt do innych użytkowników, należy wysłać nazwę użytkownika i hasło do użytkownika. Będą otwierać i edytować tylko własne arkusze i nie mają uprawnień do wyświetlania innych arkuszy.
Najlepsze narzędzia biurowe
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
- Scal komórki / wiersze / kolumny i przechowywanie danych; Podziel zawartość komórek; Połącz zduplikowane wiersze i sumę / średnią... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
- Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
- Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
- Ulubione i szybkie wstawianie formuł, Zakresy, wykresy i obrazy; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
- Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
- Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
- Grupowanie tabel przestawnych według numer tygodnia, dzień tygodnia i więcej ... Pokaż odblokowane, zablokowane komórki w różnych kolorach; Podświetl komórki, które mają formułę / nazwę...
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!