Como registrar data e hora automaticamente quando a célula muda?
É fácil para nós inserir manualmente uma data e hora estáticas ou inserir uma data dinâmica que muda com o horário do sistema usando uma fórmula. Se você deseja registrar a data e a hora automaticamente ao alterar ou inserir valores, esse problema pode ser um pouco diferente de resolver. No entanto, neste artigo, você poderá realizar essa tarefa seguindo os passos abaixo.
Registrar data e hora automaticamente quando a célula muda com código VBA
Registrar data e hora automaticamente quando a célula muda com código VBA
Por exemplo, tenho um intervalo de valores, e agora, quando altero ou digito novos valores na Coluna B, quero que a data e hora atuais sejam registradas automaticamente na Coluna C, conforme mostrado na captura de tela a seguir:
Você pode concluir esta tarefa com o seguinte código VBA. Por favor, siga estas instruções:
1. Pressione as teclas ALT + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Em seguida, escolha sua planilha usada no Explorador de Projetos à esquerda, clique duas vezes nela para abrir o Módulo e depois copie e cole o seguinte código VBA no Módulo em branco:
Código VBA: Registrar data e hora automaticamente quando a célula muda
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. Depois, salve e feche este código para voltar à planilha; agora, quando você alterar o valor da célula ou digitar novos dados na Coluna B, a data e a hora serão registradas automaticamente na Coluna C.
Notas:
1. No código acima, você pode modificar “B:B” para qualquer outra coluna onde deseja alterar os valores das células neste script: Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target).
2. Com este script xOffsetColumn = 1 , você pode inserir e atualizar a data e a hora na primeira coluna ao lado da sua coluna de valores alterados. Você pode alterar o número 1 para outros números, como 2, 3, 4, 5… Isso significa que a data será inserida na segunda, terceira, quarta ou quinta coluna além da sua coluna de valores alterados.
3. Quando você excluir um valor na coluna alterada, a data e a hora também serão removidas.
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!