Vai al contenuto principale

Come impostare le password per proteggere i singoli fogli di lavoro dagli utenti in Excel?

In Excel è possibile impostare password diverse per fogli diversi, ciò significa che un utente potrebbe apportare modifiche a un foglio di lavoro utilizzando una password e un altro potrebbe utilizzare una password diversa per apportare modifiche a un altro foglio di lavoro. Ma, a volte, vuoi solo che ogni utente sia in grado di visualizzare e accedere al proprio foglio. È possibile risolverlo in Excel?


Per proteggere ogni foglio di lavoro individualmente e limitare l'accesso ai fogli di lavoro da parte degli utenti, applicare il codice VBA seguente:

1. Apri una nuova cartella di lavoro e crea un nuovo foglio denominato "Principale", vedi screenshot:

2. Quindi, premere Alt + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra, fare doppio clic Questa cartella di lavoro da sinistra Progetto-VBAProgetto riquadro per aprire un modulo di codice vuoto, quindi copiare e incollare il seguente codice VBA nella finestra del codice, vedere screenshot:

Codice VBA: imposta le password per proteggere i singoli fogli dagli utenti

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. Quindi, posiziona il cursore alla fine di Private Sub Workbook_Open () script e premete F5 chiave per eseguire questo codice. Ora, nella finestra di richiesta visualizzata, inserisci il nome utente con cui desideri creare un foglio per questo utente, vedi screenshot:

4. Quindi fare clic su OK pulsante, nella seguente finestra di richiesta, inserisci una password per proteggere questo foglio, vedi screenshot:

5. Continua a fare clic OK pulsante e un nuovo foglio denominato con il nome utente viene creato in una volta e puoi creare i dati per quell'utente di cui hai bisogno. Vedi screenshot:

6. Ripeti il ​​passaggio 3 sopra - passaggio 5 per creare altri fogli uno per uno che desideri utilizzare.

7. Dopo aver creato i fogli, salvare la cartella di lavoro corrente facendo clic Compila il > Salva con nome., Nel Salva con nome finestra di dialogo, specificare un nome file e quindi scegliere Cartella di lavoro con attivazione macro di Excel (* .xlsm) formato dal Salva come tipo elenco a discesa, vedi screenshot:

8. Quindi fare clic sul pulsante Salva per salvare questo file.

9. Quindi chiudere la cartella di lavoro e riaprirla, quindi fare clic Abilitare il contenuto nella parte superiore della barra della formula per attivare il codice, vedi screenshot:

10. Ora verrà visualizzata una finestra di messaggio per ricordarti di inserire il nome utente e la password per aprire il foglio specifico da parte di un determinato utente.

11. Infine, quando si invia questa cartella di lavoro ad altri utenti, è necessario inviare il nome utente e la password all'utente. Apriranno e modificheranno solo i propri fogli e non dispongono dell'autorizzazione per visualizzare altri fogli di lavoro.


  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne e conservazione dei dati; Contenuto delle celle divise; Combina righe duplicate e somma / media... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Formule preferite e di inserimento rapido, Intervalli, grafici e immagini; Crittografa celle con password; Crea mailing list e invia email ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Raggruppamento tabelle pivot per numero della settimana, giorno della settimana e altro ... Mostra celle sbloccate e bloccate da diversi colori; Evidenzia le celle che hanno formula / nome...
scheda kte 201905
  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
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