Folha de proteção do Excel VBA
Podemos proteger a planilha do excel usando código vba que não permite ao usuário fazer nenhuma alteração nos dados da planilha, tudo o que eles podem fazer é apenas ler o relatório. Para isso, temos um método vba embutido chamado “Protect”.
Como protegemos nossas planilhas no Excel, podemos usar o VBA para proteger nossas planilhas, isso é feito usando uma instrução .protect, existem dois métodos para proteger a planilha, um é com uma senha e outro é sem senha, a sintaxe para proteger uma planilha é a seguinte: Planilhas (). Proteger senha.
Normalmente compartilhamos o relatório final final com o usuário ou leitor. Quando compartilhamos o relatório final final com o usuário, desejamos que o usuário não faça nenhuma modificação ou manipule o relatório final. Em tal cenário, tudo se resume à confiança, não é?
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba.png.webp)
Sintaxe
A folha de proteção envolve vários parâmetros para fornecer. Isso é diferente de Desproteger a folha. Vejamos a sintaxe do método Protect com uma senha.
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_2.png.webp)
Uau!!! Não se intimide olhando a sintaxe. Dê uma olhada na explicação de cada argumento abaixo.
- Nome da planilha: primeiro, precisamos mencionar qual planilha vamos proteger.
- Senha: Precisamos inserir a senha que estamos usando para proteger. Se ignorarmos este parâmetro, o Excel irá bloquear a planilha sem uma senha e, ao desproteger a planilha, ele irá desproteger sem pedir nenhuma senha.
- Nota: Lembre - se da senha que está fornecendo, porque se você esqueceu, terá que passar por vários caminhos difíceis.
- Objeto de desenho: Se você deseja proteger objetos na planilha, pode passar o argumento como VERDADEIRO ou FALSO. O valor padrão é verdadeiro.
- Conteúdo: Para proteger o conteúdo da planilha, defina o parâmetro como TRUE ou FALSE. O valor padrão é falso. Isso protegerá apenas as células bloqueadas. O valor padrão é verdadeiro.
- Cenários: Se houver alguma análise what-if nos cenários do Excel, podemos protegê-los também. Para proteger TRUE ou então FALSE. O valor padrão é verdadeiro.
- Interface do usuário apenas: Se você deseja proteger a interface do usuário diferente de macro, ela deve ser TRUE. Se este argumento for omitido, ele protegerá as macros e a interface do usuário. Se você definir o argumento como TRUE, ele protegerá apenas a interface do usuário. O valor padrão é falso.
- Permitir formatação de células: se você deseja permitir que o usuário formate a célula, pode definir o parâmetro como TRUE ou FALSE. O valor padrão é falso.
- Permitir formatação de colunas: Se você deseja permitir que o usuário formate qualquer coluna na planilha protegida, você pode definir o parâmetro como TRUE ou FALSE. O valor padrão é falso.
- Permitir formatação de linhas: Se você deseja permitir que o usuário formate qualquer linha na planilha protegida, você pode definir o parâmetro como TRUE ou FALSE. O valor padrão é falso.
- Permitir inserir colunas no VBA: você deseja permitir que o usuário insira novas colunas, então você precisa definir isso como TRUE. O valor padrão é falso.
- Permitir a inserção de linhas: Se você deseja permitir que o usuário insira novas linhas, você precisa definir como TRUE. O valor padrão é falso.
- Permitir a inserção de hiperlinks: se deseja permitir que o usuário insira hiperlinks, você precisa definir como TRUE. O valor padrão é falso.
- Permitir exclusão de colunas: se você deseja permitir que o usuário exclua colunas no VBA, você precisa definir como TRUE. O valor padrão é falso.
- Permitir exclusão de linhas: Se você deseja permitir que o usuário exclua linhas, você precisa definir como TRUE. O valor padrão é falso.
- Permitir classificação: se você deseja permitir que o usuário classifique os dados, defina como TRUE. O valor padrão é falso.
- Permitir Filtragem: Se você deseja permitir que o usuário filtre os dados, você precisa definir como TRUE. O valor padrão é falso.
- Permitir o uso de tabelas dinâmicas: Se você deseja permitir que o usuário use tabelas dinâmicas, é necessário definir como TRUE. O valor padrão é falso.
Como proteger a planilha usando código VBA?
Etapa 1: selecione a folha que precisa ser protegida
Para proteger a planilha, a primeira etapa é decidir em qual planilha precisamos proteger usando uma senha, e precisamos chamar a planilha por seu nome usando o objeto de planilha VBA.
Por exemplo, suponha que você deseja proteger a planilha chamada “Master Sheet”, então você precisa mencionar o nome da planilha como o abaixo.
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_3.png.webp)
Etapa 2: definir a variável da planilha
Depois de mencionar o nome da planilha, coloque um ponto, mas não vemos nenhuma lista do IntelliSense para trabalhar. Isso torna o trabalho difícil. Para obter acesso à lista do IntelliSense, defina a variável como uma planilha.
Código:
Sub Protect_Example1 () Dim Ws As Worksheet End Sub
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_4.png.webp)
Etapa 3: fornecer referência à planilha
Agora defina a referência da planilha para a variável como Planilhas (“Planilha Mestra”) .
Código:
Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_5.png.webp)
Agora a variável “Ws” contém a referência da planilha chamada “Folha Mestra”. Usando essa variável, podemos acessar a lista do IntelliSense.
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_6.png.webp)
Etapa 4: Selecione o método de proteção
Selecione o método “Proteger” na lista do IntelliSense.
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_7.png.webp)
Etapa 5: Digite a senha
Especifique a senha entre aspas duplas.
Código:
Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_8.png.webp)
Etapa 6: execute o código
Execute o código manualmente ou usando a tecla de atalho F5 e então protegerá a planilha chamada de “Planilha Mestra”.
Quando a planilha está protegida, se quisermos fazer alguma modificação, aparece alguma mensagem de erro, conforme mostrado abaixo.
![](https://cdn.know-base.net/3461694/vba_protect_sheet_password_protect_excel_sheet_using_vba_9.png.webp)
No caso de desejar proteger mais de uma folha, então precisamos usar laços. Abaixo está o código de exemplo para proteger a folha.
Sub Protect_Example2 () Dim Ws As Worksheet Para Cada Ws In ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub
Nota: Use outros parâmetros para experimentar.