Notifications
Clear all

Senha ao abrir planilha determinado por data

9 Posts
5 Usuários
0 Reactions
1,699 Visualizações
(@suporte100)
Posts: 55
Trusted Member
Topic starter
 

Ola,

Gostaria de saber se é possível eu travar uma planilha com senha depois de uma determinada data, Ex. eu quero que apareça um UserForm depois do dia 11/03/2018, e o usuário só consiga entrar se digitar uma determina senha.

 
Postado : 08/03/2018 5:07 pm
(@klarc28)
Posts: 971
Prominent Member
 
dim dt as date
dim senha as string
senha = "minhasenha"
dt = "11/03/2018"
if date >= dt and senha = "minhasenha" then
userform1.show
end if

 
Postado : 09/03/2018 8:05 am
(@suporte100)
Posts: 55
Trusted Member
Topic starter
 

ola Klarc28, obrigado pela ajuda,
Eu inclui um novo modulo e add o seu codigo, mas quando eu abro esta dando erro de complicação: Invalido fora de um procedimento.
Oque pode ser?

 
Postado : 09/03/2018 10:46 am
(@mprudencio)
Posts: 2749
Famed Member
 

Tente assim

dt = Cdate("11/03/2018")

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 09/03/2018 4:40 pm
(@suporte100)
Posts: 55
Trusted Member
Topic starter
 

Ola, Obrigado pela ajuda,
segue com um erro, agr foi para a linha da senha = "minhasenha" (linha 3) informa erro de compilação, invalido fora de um procedimento. O que poderia ser este erro?

 
Postado : 09/03/2018 9:46 pm
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Olá.
Esse erro geralmente ocorre quando se escreve alguma linha que está fora de uma sub

Se vc copiou o código postado pelo colega e colou diretamente num módulo, ou onde quer que seja, sem enquadrá-lo dentro de uma sub, esse erro persistirá.

Toda rotina começa com sub, public sub ou private sub e sempre termina com end sub

se vc colou a rotina no seu módulo exatamente assim:

dim dt as date
dim senha as string
senha = "minhasenha"
dt = "11/03/2018"
if date >= dt and senha = "minhasenha" then
userform1.show
end if

vai dar este erro pois, cadê o sub e o end sub?

Agora se escreveu-o dentro de uma rotina como assim:

Sub O_nome_que_quiser()
Dim dt As Date
Dim senha As String
senha = "minhasenha"
dt = "11/03/2018"
If Date >= dt And senha = "minhasenha" Then
UserForm1.Show
End If

End Sub

e o erro persiste..
creio que precisará postar sua planilha para facilitar a análise.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 10/03/2018 12:12 am
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Bom-dia

Tente assim:

Private Sub Workbook_Open()

Application.EnableCancelKey = xlDisabled
Dim dt As Date

'Escolha a data que Pasta de Trabalho deverá expirar (ano, mês, dia)
dt = DateSerial(2018, 3, 11)

If Date > dt Then
MsgBox "Tempo de Avaliação Expirou! Favor entrar em contato com o Administrador.", vbOKOnly, "Atenção"
ThisWorkbook.Close SaveChanges:=False
End If

End Sub

 
Postado : 10/03/2018 8:29 am
fcarlosc
(@fcarlosc)
Posts: 453
Honorable Member
 

Assim:

Private Sub Workbook_Open()
   
Dim exdate As Date
 
'data de expiração
exdate = "07/03/2018"
 
If Date > exdate Then
   varNum = Application.InputBox("A planilha expirou, informe o codigo", "Revalidação do prazo", "####")
   If varNum = 123456 Then
      Exit Sub
   End If
   MsgBox ("Senha Incorreta")
   ActiveWorkbook.Close
End If
 
MsgBox ("Você têm " & exdate - Date & " Dias restantes")
   
End Sub
 
Postado : 10/03/2018 8:33 am
(@suporte100)
Posts: 55
Trusted Member
Topic starter
 

Galera, ,muito obrigado. funcionou 100%. obrigado mesmo!

 
Postado : 11/03/2018 6:40 pm