Notifications
Clear all

Ajuda VBA - Horas

7 Posts
2 Usuários
0 Reactions
1,388 Visualizações
(@miguel-70)
Posts: 207
Estimable Member
Topic starter
 

Tenho esta macro para registrar a horas da abertura da plan em uma célula, funciona, o objetivo é registrar a horas para não voltar caso o usuário altere o horário do PC. Acontece que quando passa para o outro dia se na célula esta registrado 23:00:00, ela não reconhece que recomeçou a horário.

Private Sub Workbook_Open()
Horas
End Sub

Public Sub Horas()
If Plan1.Range("B1") <= Time Then
Plan1.Range("B1") = Time
End If
End Sub

Obrigado, aceito qualquer sugestão.

 
Postado : 11/01/2015 1:32 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite Miguel70

Experimente colocar este código no módulo da Pasta de Trabalho:

Private Sub Workbook_Open()
  Plan1.Range("B1") = Time
End Sub

Segue planilha anexada para comprovar o funcionamento.

Dê retorno.

Se a resposta foi útil, clique na mãozinha que fica do lado da ferramenta Citar.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/01/2015 3:34 pm
(@miguel-70)
Posts: 207
Estimable Member
Topic starter
 

Obrigado Patropi, pela ajuda.
Estou postando um modelo, não tem nenhum erro, somente em esta pasta de trabalho que deve ser mudado alguma coisa, por exemplo;
Se estiver registrado na plan1 22:00hs e esta plan for aberta no outro dia então não registra mais so depois das 22:00hs
O objetivo que que o usuário caso queira apagar dados de linhas fora do horário e este vier a atrasar a horas do pc ele não consiga retornar a horas da plan1

 
Postado : 11/01/2015 4:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Eu não entendi sua dúvida, mas talvez, seria melhor proteger os dados (ou...ocultar a guia, ou usar duas guias com mesmo dados uma sem o acesso do usuário, ou proteger a guia, ou proteger as linhas, ou células ou colunas)

Para tal, veja...
http://www.google.com.br/cse?cx=partner ... gsc.page=1

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/01/2015 4:20 pm
(@miguel-70)
Posts: 207
Estimable Member
Topic starter
 

Obrigado pela dica de pesquisa, ainda não encontrei a solução. Talvez não fui claro com a minha dúvida, o que eu estou buscando esta na HORAS;
Bem não é erro e sim ajuste, quando chega a meia noite (00:00:00) não reinicia a contagem das horas, porque eu não quero que reinicie esta contagem antes da meia noite, más passando para o outro dia é preciso iniciar esta contagem e como esta não reinicia a contagem, baixar o anexo e faça os teste, vai entender o que busco.

Public Sub Horas_Sistema()
If Plan1.Range("A2") <= Time Then 'AQUI PRECISA SER MUDADO
Plan1.Range("A2") = Time
End If
End Sub

ESTA PASTA DE TRABALHO
A DATA - esta ótimo, bloqueando como esperado, certo.
A HORAS - Quero que ao passar para o outro dia este código reconheça esse novo dia e inicia a contagem das horas, sem permitir que volte caso usuário atrase o relógio do PC e reabra a pasta de trabalho para apagar dados inseridos à mais de uma horas de atraso.
Baixe meu modelo.
Obrigado.

 
Postado : 12/01/2015 8:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se entendi, mas experimente alterar a rotina na abertura do arquivo, acrescentando se a data em a1 for igual a data de ontem (Date-1) então apaga as horas

Private Sub Workbook_Open()
If Plan1.Range("A1") = Date - 1 Then Plan1.Range("A2") = ""
    OcultarMenu
    Data_Sistema
    Horas_Sistema
End Sub

Agora, se o usuário for esperto o suficiente para alterar a data do computador, desbloquear a planilha e efetuar as manutenções vai ser moleza.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/01/2015 4:46 pm
(@miguel-70)
Posts: 207
Estimable Member
Topic starter
 

Resolvido com esta linha de código.

If Plan1.Range("A1") = Date - 1 Then Plan1.Range("A2") = ""

Minha pasta de trabalho esta completa, também o modelo esta disponível para quem trabalha com controle de veiculo, o meu caso são em média 20 veículos, ai é necessário bloquear devido; multas reclamações, etc.
Obrigado Reinaldo,
Obrigado a todos.

 
Postado : 12/01/2015 10:38 pm