Skip to main content

Como definir senhas para proteger planilhas individuais para diferentes usuários no Excel?

Author: Xiaoyang Last Modified: 2025-06-04

No Excel, você pode definir senhas diferentes para planilhas diferentes; isso significa que um usuário pode fazer alterações em uma planilha usando uma senha, enquanto outro pode usar uma senha diferente para alterar outra planilha. No entanto, às vezes, você pode querer que cada usuário tenha acesso apenas à sua própria planilha. Isso é possível de ser resolvido no Excel?


Para proteger cada planilha individualmente e limitar o acesso das planilhas por usuários, aplique o seguinte código VBA:

1. Abra uma nova pasta de trabalho e crie uma nova planilha chamada “Planilha Principal”, veja a captura de tela:

A screenshot of the Main sheet in Excel where the first worksheet is created

2. Em seguida, pressione as teclas "Alt" + "F11" para abrir a janela "Microsoft Visual Basic for Applications", clique duas vezes em "EstaPastaDeTrabalho" no painel esquerdo "Projeto-VBAProject" para abrir um módulo de código em branco e, em seguida, copie e cole o seguinte código VBA na janela de código, veja a captura de tela:

Código VBA: Definir senhas para proteger planilhas individuais por usuários

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

A screenshot of the Visual Basic for Applications window with the VBA code to set passwords for individual sheets

3. Depois disso, coloque o cursor no final do script "Private Sub Workbook_Open()" e pressione a tecla "F5" para executar este código. Agora, na caixa de diálogo que aparece, insira o nome do usuário para o qual deseja criar uma planilha, veja a captura de tela:

A screenshot of the prompt box asking for a user name to create a new sheet in Excel

4. Em seguida, clique no botão "OK". Na próxima caixa de diálogo, insira uma senha para proteger essa planilha, veja a captura de tela:

A screenshot of the prompt box asking for a password to protect the newly created sheet in Excel

5. Continue clicando no botão "OK", e uma nova planilha nomeada com o nome do usuário será criada imediatamente, e você poderá criar os dados para esse usuário conforme necessário. Veja a captura de tela:

A screenshot of the newly created sheet named after the user in Excel

6. Repita as etapas 3 a 5 acima para criar outras planilhas uma a uma, conforme desejar.

7. Após criar as planilhas, salve a pasta de trabalho atual clicando em "Arquivo" > "Salvar Como". Na caixa de diálogo "Salvar Como", especifique um nome de arquivo e escolha o formato "Pasta de Trabalho Habilitada para Macro do Excel (*.xlsm)" na lista suspensa "Especificar Formato de Salvamento", veja a captura de tela:

A screenshot of the Save As dialog box in Excel, showing the Save as type dropdown list for Excel Macro-Enabled Workbook (*.xlsm)

8. Em seguida, clique no botão Salvar para salvar este arquivo.

9. Depois disso, feche a pasta de trabalho e a reabra, depois clique em "Ativar Conteúdo" na parte superior da barra de fórmulas para ativar o código.

A screenshot of the Enable Content button in Excel to activate the VBA code

10. Agora, uma caixa de diálogo será exibida para lembrá-lo de inserir o nome de usuário e a senha para abrir a planilha específica pelo usuário correspondente.

11. Por fim, ao enviar esta pasta de trabalho para outros usuários, você deve enviar o nome de usuário e a senha para o respectivo usuário. Eles só poderão abrir e editar suas próprias planilhas e não terão autorização para visualizar outras planilhas.

Melhores Ferramentas de Produtividade para Office

🤖 Assistente AI do KUTOOLS: Revolucione a análise de dados com base em: Execução Inteligente | Gerar Código | Criar Fórmulas Personalizadas | Analisar Dados e Gerar Gráficos | Invocar Funções Aprimoradas
Recursos Populares: Encontrar, Destacar ou Marcar Duplicatas | Excluir Linhas em Branco | Combinar Colunas ou Endereço sem Perder Dados | Arredondar...
Super PROC: PROC com Múltiplos Critérios | PROC com Múltiplos Valores | Procura em várias planilhas | Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente uma Lista Suspensa | Lista Suspensa Dependente | Lista Suspensa com Múltipla Seleção...
Gerenciador de Colunas: Adicionar um Número Específico de Colunas | Mover Colunas | Alternar Estado de Visibilidade das Colunas Ocultas | Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco | Visualização de Design | Barra de fórmulas aprimorada | Gerenciador de Pasta de trabalho & Planilha | Biblioteca de AutoTexto | Selecionador de Data | Mesclar Dados | Criptografar/Descriptografar Células | Enviar Email por Lista | Super Filtro | Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...) | Mais de50 Tipos de Gráficos (Gráfico de Gantt, ...) | Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ...) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ... e muito mais

Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...


O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!