Planilha Desproteger do VBA do Excel

Temos uma opção no Excel, pela qual podemos proteger nossas planilhas e arquivos do Excel contra exclusão, renomeação e salvamento dos dados de quaisquer outras alterações que não sejam necessárias. A opção é chamada Proteger planilha e Proteger pasta de trabalho, que existe na seção Alterações, na faixa de opções do menu Revisar . Podemos definir uma senha com a qual podemos salvar a planilha selecionada de qualquer alteração feita. Mas o que eu digo, isso também pode ser automatizado usando o código VBA. Sim, podemos criar um código ou macro pelo qual podemos bloquear automaticamente a planilha e a pasta de trabalho. Mas este artigo é sobre Desproteger a planilha.

Desproteger a folha também é um processo bastante fácil, pois protege a folha. Para desproteger a planilha, precisamos inserir a senha que usamos ao bloquear a planilha. Para desproteger a planilha, basta selecionar o nome da planilha e a função chamada Desproteger . Se isso estiver disponível no VBA, é apenas um código de uma linha. Mas, se não for, precisamos procurar outra maneira de fazer isso, que veremos nos exemplos abaixo.

Como desproteger planilha no Excel VBA?

Aprenderemos como Desproteger a planilha no Excel usando o código VBA.

Você pode fazer o download deste modelo do Excel para desproteger a folha do VBA aqui - Modelo do Excel para desproteger a folha do VBA

Folha de desprotegida do VBA - exemplo # 1

Primeiro, veríamos um exemplo simples para desproteger a planilha. Para isso, siga as etapas abaixo:

Etapa 1: primeiro abra um módulo na guia do menu Inserir, como mostrado abaixo.

Etapa 2: Agora escreva o subprocedimento da planilha VBA Unprotect. Ou podemos escolher qualquer outro nome para defini-lo.

Código:

 Sub VBA_Unprotect () End Sub 

Etapa 3: defina uma variável chamada Planilha por qualquer nome. De preferência, o nome que se assemelha à planilha, como ExSheet

Código:

 Sub VBA_Unprotect () Dim ExSheet como planilha End Sub 

Etapa 4: Agora, defina a variável da planilha definida com o nome da planilha que queremos desproteger. Aqui, o nome dessa planilha é Sheet1 .

Código:

 Sub VBA_Unprotect () Dim ExSheet como planilha Def ExSheet = Worksheets ("Sheet1") End Sub 

Etapa 5: Agora atribua a função Desproteger que existe na lista suspensa VBA à variável da planilha ExSheet .

Código:

 Sub VBA_Unprotect () Dim ExSheet como conjunto de planilhas ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect End Sub 

Etapa 6: agora forneça a senha que fornecemos para bloquear essa planilha. Aqui, essa senha é "Open1212". E isso pode ser qualquer coisa, que depende da escolha do usuário.

Código:

 Sub VBA_Unprotect () Dim ExSheet como conjunto de planilhas ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect Password: = "Open1212" End Sub 

Etapa 7: Agora, primeiro protegeremos a Plan1, clicando na guia do menu Revisar e selecionando a opção Proteger planilha .

Etapa 8: Digite a senha que queremos e clique em Ok para proteger a planilha.

Etapa 9: Digite novamente a senha para confirmar.

Etapa 10: Uma vez feito, veremos, não podemos alterar nada nessa planilha, mesmo se tentarmos. Agora, para desproteger a planilha, compilaremos nosso código escrito e o executaremos.

Veremos que, uma vez que nosso código é executado, agora podemos fazer alterações na Planilha1 .

Etapa 11: E se removermos ou alterarmos a linha de código em que inserimos a senha e a tornarmos até a função Desproteger, como mostrado abaixo. Vamos ver o que acontecerá se o fizermos.

Código:

 Sub VBA_Unprotect () Dim ExSheet como conjunto de planilhas ExSheet = Worksheets ("Sheet1") ExSheet.Unprotect End Sub 

Etapa 12: Agora, execute novamente o código completo. Veremos, uma caixa de mensagem será exibida, solicitando a digitação da senha. Alimente a senha aqui que selecionamos enquanto protege a planilha e clique em Ok.

Com esse processo também, podemos desproteger a planilha que queremos.

Folha de desprotegida do VBA - exemplo # 2

Há outra maneira de desproteger as planilhas. Essa é a maneira mais fácil e simples de fazer isso. Para isso, siga as etapas abaixo:

Etapa 1: escreva o subprocedimento para o VBA Unprotect, como mostrado abaixo.

Código:

 Sub VBA_Unprotect2 () End Sub 

Etapa 2: Use a função Planilhas e selecione a planilha que queremos proteger. Aqui, novamente, essa planilha é Sheet1 .

Código:

 Sub VBA_Unprotect2 () Planilhas ("Plan1") End Sub 

Etapa 3: De maneira semelhante à mostrada no exemplo-1, usaremos o comando Desproteger junto com a senha que usamos ao bloquear a planilha. Aqui, nossa senha para desproteger também é a mesma que “ Open1212 ”.

Código:

 Sub VBA_Unprotect2 () Planilhas ("Plan1"). Desproteger senha: = "Open1212" End Sub 

Agora nosso código está completo. Para testar isso, primeiro, proteja a planilha da mesma maneira que fizemos no exemplo-1 e execute esse código para desprotegê-la.

Folha de desprotegida do VBA - exemplo # 3

E se eu disser, podemos escrever novamente um código em que não precisamos selecionar o nome da planilha que queremos desproteger. Sim, isso pode ser feito usando um loop. Para isso, siga as etapas abaixo:

Etapa 1: Abra novamente um módulo e escreva o subprocedimento da planilha VBA Unprotect, como mostrado abaixo.

Código:

 Sub VBA_Unprotect3 () End Sub 

Etapa 2: Use DIM para definir uma variável para Planilha como Exsheet. É a mesma linha que usamos nos exemplos acima.

Código:

 Sub VBA_Unprotect3 () Dim ExSheet como planilha End Sub 

Etapa 3: abra um loop For-Next em que escreveremos as condições da folha desprotegida.

Código:

 Sub VBA_Unprotect3 () Dim ExSheet como planilha para o próximo ExSheet End Sub 

Etapa 4: escreva a condição para cada pasta de trabalho ativa aberta e selecione a planilha ativa atual, conforme mostrado abaixo.

Código:

 Sub VBA_Unprotect3 () Dim ExSheet como planilha para cada ExSheet no ActiveWorkbook.Worksheets Next ExSheet End Sub 

Etapa 5: Agora, de maneira semelhante à dos exemplos acima, usaremos variáveis ​​definidas junto com a função Desproteger para desproteger a planilha. Aqui também, podemos ou não usar a senha. Esta é uma maneira opcional.

Código:

 Sub VBA_Unprotect3 () Dim ExSheet como planilha para cada ExSheet no ActiveWorkbook.Worksheets ExSheet.Unprotect Senha: = "Open1212" Próximo ExSheet End Sub 

Compile o código e execute se nenhum erro for encontrado.

É assim que podemos desproteger qualquer planilha atual aberta sem sequer selecionar o nome e a sequência disso. Esse código considerará automaticamente a planilha atualmente selecionada e aberta.

Profissionais da planilha de desproteção do Excel VBA

  • Os processos e exemplos mostrados acima são os mais fáceis de aplicar.
  • Podemos desproteger a planilha dos dois modos, fornecendo a própria senha no código ou sem fornecer a senha.
  • Isso funciona da mesma maneira que desprotegemos manualmente a planilha.

Coisas para lembrar

  • Como o processo é bastante fácil de implementar, pode não haver melhorias ao automatizar.
  • Podemos alterar a senha sempre que refazermos o processo de proteção e desproteção da planilha.
  • Podemos selecionar o nome da planilha ou a sequência da planilha que queremos desproteger.
  • E, uma vez feito, salve o código na macro Ativar planilha do Excel para proteger a perda do código VBA.

Artigos recomendados

Este é um guia para a VBA Unprotect Sheet. Aqui, discutiremos como Desproteger a planilha no Excel usando o código VBA, juntamente com exemplos práticos e modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Variável pública do VBA (exemplos)
  2. Número do formato VBA com função
  3. Variante VBA com tipos de dados
  4. Randomizar VBA | Modelos do Excel
  5. Ambiente VBA

Categoria: