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
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para acessar o recurso que você mais precisa...
Office Tab traz interface com abas para o Office e facilita muito seu trabalho
- Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
- Aumente sua produtividade em50% e economize centenas de cliques todos os dias!
Todos os complementos Kutools. Um instalador
O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.





- Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Um instalador, uma licença — configuração em minutos (pronto para MSI)
- Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
- Avaliação completa por30 dias — sem registro e sem cartão de crédito
- Melhor custo-benefício — economize comparado à compra individual de add-ins