Planilha com data de validade no Excel VBA

preview_player
Показать описание
Crie planilha com data de validade para seus usuários poderem utilizá-las apenas por um período determinado.

E isso foi feito através do Excel VBA com um pouco de conhecimento e muita criatividade.

Neste vídeo, você verá que criamos vários mecanismos para inpedir o usuário de burlar a senha com a finalidade de alterar o prazo de validade, confira!

O nosso canal tem como objetivo ensinar Excel e VBA a internautas com pouco ou nenhum conhecimento sobre o assunto. Oferecemos, entre outras coisas, cursos de Excel básico, intermediário e avançado. Isso inclui exercícios variados e criativos onde você poderá aplicar o seu conhecimento adquirido em situações reais.

A importância dessa ferramenta é fundamental em qualquer profissão. Isso porque todo ambiente de trabalho necessita, de uma forma ou de outra, executar pequenos controles e tarefas repetitivas. Portanto, não perca tempo. Não fique para trás. Venha conosco se aventurar nessa ferramenta.

DOWNLOAD ARQUIVOS GRÁTIS:

PLAYLIST PERGUNTAS DOS INTERNAUTAS:

PLAYLIST COMO PENSA UM PROGRAMADOR:

PLAYLIST DICAS RÁPIDAS:

PLAYLIST PROCEDIMENTOS:

PLAYLIST HORÁRIO ESCOLAR 2021:

PLAYLIST FORMULÁRIOS:

CÓDIGO DESTE VÍDEO:
Private Sub Workbook_Open()
Dim BV As Worksheet
Dim Entrada As Variant

Set BV = Worksheets("Bem Vindo")
BV.Range("B1") = Now

If BV.Range("C2") MENOR 0 Then
Entrada = InputBox("Insira senha para escolher nova validade:", _
"Acesso encerrado!", "Digite sua senha aqui", 11000, 5900)
If Entrada = "" Then
MsgBox "A entrada foi cancelada!"
ActiveWorkbook.Close savechanges:=False
ElseIf Entrada = "1234" Then
FormData.Show
Else
MsgBox "Desculpe, senha errada!"
ActiveWorkbook.Close savechanges:=False
End If
Else
Worksheets("Aba 01").Visible = True
Worksheets("Aba 02").Visible = True
Worksheets("Aba 03").Visible = True
Worksheets("Aba 04").Visible = True
Worksheets("Aba 05").Visible = True
Worksheets("Aba 06").Visible = True
End If
End Sub

'----------------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Aba 01").Visible = xlVeryHidden
Worksheets("Aba 02").Visible = xlVeryHidden
Worksheets("Aba 03").Visible = xlVeryHidden
Worksheets("Aba 04").Visible = xlVeryHidden
Worksheets("Aba 05").Visible = xlVeryHidden
Worksheets("Aba 06").Visible = xlVeryHidden
Range("C1").Select
ActiveWorkbook.Save
End Sub

'----------------------------------------------------
Private Sub Botao_Enviar_Click()
Dim BV As Worksheet
Set BV = Worksheets("Bem Vindo")

If IsDate(Me.NovaData.Value) = True Then
BV.Range("A1").Value = CDate(Me.NovaData.Value)
Worksheets("Aba 01").Visible = True
Worksheets("Aba 02").Visible = True
Worksheets("Aba 03").Visible = True
Worksheets("Aba 04").Visible = True
Worksheets("Aba 05").Visible = True
Worksheets("Aba 06").Visible = True
ActiveWorkbook.Save
Else
MsgBox "Data no formato incorreto!"
Unload FormData
FormData.Show
End If

Range("C1").Select
Unload FormData
End Sub

'----------------------------------------------------
Private Sub Botao_Cancelar_Click()
ActiveWorkbook.Close savechanges:=False
End Sub

'----------------------------------------------------
Private Sub NovaData_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii MENOR 48 Or KeyAscii MAIOR 57) And KeyAscii MENOR MAIOR 47 Then
KeyAscii = 0
End If
End Sub

'----------------------------------------------------
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub
Рекомендации по теме
Комментарии
Автор

SEGUEM ABAIXO OS CÓDIGOS DESTE VÍDEO:

Private Sub Workbook_Open()
Dim BV As Worksheet
Dim Entrada As Variant

Set BV = Worksheets("Bem Vindo")
BV.Range("B1") = Now

If BV.Range("C2") < 0 Then
Entrada = InputBox("Insira senha para escolher nova validade:", _
"Acesso encerrado!", "Digite sua senha aqui", 11000, 5900)
If Entrada = "" Then
MsgBox "A entrada foi cancelada!"
ActiveWorkbook.Close savechanges:=False
ElseIf Entrada = "1234" Then
FormData.Show
Else
MsgBox "Desculpe, senha errada!"
ActiveWorkbook.Close savechanges:=False
End If
Else
Worksheets("Aba 01").Visible = True
Worksheets("Aba 02").Visible = True
Worksheets("Aba 03").Visible = True
Worksheets("Aba 04").Visible = True
Worksheets("Aba 05").Visible = True
Worksheets("Aba 06").Visible = True
End If
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Aba 01").Visible = xlVeryHidden
Worksheets("Aba 02").Visible = xlVeryHidden
Worksheets("Aba 03").Visible = xlVeryHidden
Worksheets("Aba 04").Visible = xlVeryHidden
Worksheets("Aba 05").Visible = xlVeryHidden
Worksheets("Aba 06").Visible = xlVeryHidden
Range("C1").Select
ActiveWorkbook.Save
End Sub


Private Sub Botao_Enviar_Click()
Dim BV As Worksheet
Set BV = Worksheets("Bem Vindo")

If IsDate(Me.NovaData.Value) = True Then
BV.Range("A1").Value = CDate(Me.NovaData.Value)
Worksheets("Aba 01").Visible = True
Worksheets("Aba 02").Visible = True
Worksheets("Aba 03").Visible = True
Worksheets("Aba 04").Visible = True
Worksheets("Aba 05").Visible = True
Worksheets("Aba 06").Visible = True
ActiveWorkbook.Save
Else
MsgBox "Data no formato incorreto!"
Unload FormData
FormData.Show
End If

Range("C1").Select
Unload FormData
End Sub


Private Sub Botao_Cancelar_Click()
ActiveWorkbook.Close savechanges:=False
End Sub


Private Sub NovaData_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 47 Then
KeyAscii = 0
End If
End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub

explorarexcel
Автор

MUITO TOP, PARABÉNS, ISSO É SENSACIONAL PARA QUEM VENDE PLANILHA E NÃO QUER TOMAR ALGUM TIPO DE GOLPE.

viniciusaquino
Автор

se a pessoa que esta usando a planilha mudar o horário do computador ela volta a abrir como se estivesse no prazo ?

marcusrodrigues
Автор

Olá tudo bem ? Muito massa seu vídeo queria saber se existe uma forma de programar o Excel para ele. Limpar um historio da planilha a cada 3 dias a cada 1 mês ter essa rotina de limpeza para não ficar pesado com o vba

Dieg
Автор

Olá
No meu caso, quero que a planilha fique com as abas ocultas (modo tela cheia)
A pessoa irá navegar pelos menus que criei (com hiper links)

Como faria se neste código pede para reexibir as abas?
Obrigada

aneassuncaooficial
Автор

Olá, Explorar Excel! Faço votos de uma boa estadia. Olha, pus o código a rodar, mas está a dar erro, como: "Run-time error '9': Subscript out of range". O que preciso fazer? Ajude-me, por favor.

filipengalo
Автор

Se voltar a data do computador tem como abrir a planilha, existe alguma solução para isso?

andrebatistamartins
Автор

Você pode enviar seu e-mail para que eu possa te enviar uma dúvida?

alex
Автор

Boa noite professor
Exemplo: enviei a planilha pra um pessoa, aí passou da validade e a pessoa vai me pedir a senha pra reativar a planilha e colocar uma nova data isso não vai fazer com que ele coloque qualquer data do próximo vencimento?

rafaelfabiana
Автор

não explicou como fazer direito, não consegui

hiagosanches