Przejdź do głównej zawartości

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.


  • 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ę...
karta kte 201905
  • 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!
officetab dół
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