fbpx

Ontem um internauta me perguntou uma dúvida interessante:Ele queria que após uma data estipulada não seria mais possível abrir a planilha.

Existe a possibilidade de fazer por VBA uma proteção por senha,mas decidi fazer fechando diretamente a planilha e caso a data fosse menor uma mensagem de boas-vindas aparecesse na tela.Inicialmente precisamos na planilha criar uma aba com a data do sistema operacional(utilizando a função =HOJE() )e com a data desejada de bloqueio.Veja:

1

Agora acessando o VBA(Alt+F11),vamos inserir um modulo(clicando em inserir módulo)  e colar o seguinte codigo abaixo:

Sub protege()
If Plan1.Cells(1, 2) >= Plan1.Cells(2, 2) Then
‘Esta linha compara as duas celulas que contem as datas e se
‘for maior ou igual executa a linha abaixo
Application.ActiveWorkbook.Save
Application.Workbooks.Close
‘Salva e fecha a planilha automaticamente
Else
‘caso contrario o usuario pode abrir e usar a planilha normalmente
MsgBox “Bem vindo!,voce poderá usar a planilha”
End If

End Sub

Após colar note que as linhas em verdes são comentários que fiz para melhor entendimento do código

*Nesta linha de código: If Plan1.Cells(1, 2) >= Plan1.Cells(2, 2) Then, foi utilizado a planilha 1 com as celulas B1 e B2 para as datas conforme a imagem acima,caso queira altere com o numero da planilha e da celula nesta linha.

Após vamos informar o VBA que ao abrir o Excel ele ja execute a macro.Cole o codigo abaixo no evento “esta pasta de trabalho”.Logo após existe uma figura explicativa:

Private Sub Workbook_Open()
Call protege
End Sub

3
Verifique se suas macros estão habilitas,salve e abra novamente sua planilha para ver o resultado.Caso queira mudar a data de bloqueio para ver a mensagem de boas vindas,desabilite as macros,mude a data de bloqueio,salve e depois reabilite as macros.

Vale a pena testar!..VBA puro!

 

Fabio Vianna
Siga-Me

Nossas Redes Sociais

Facebook
Linkedin
Instagram
Youtube