Como registar automaticamente a data e a hora sempre que uma célula for alterada?
No dia a dia com o Excel, é bastante simples inserir manualmente valores estáticos de data e hora ou usar fórmulas para exibir uma data dinâmica que se atualiza automaticamente com base no relógio do sistema. No entanto, se o seu objetivo for registar automaticamente a data e a hora exatas sempre que uma célula for alterada ou um novo valor introduzido — criando, assim, uma marca de tempo das edições —, será necessário recorrer a uma abordagem diferente. As marcas de tempo automáticas revelam-se especialmente úteis em cenários como o registo de alterações em bases de dados, o acompanhamento de atualizações em folhas de controlo de encomendas ou a documentação de entradas em folhas de cálculo colaborativas para fins de auditoria. Embora o Excel não inclua uma função nativa para capturar automaticamente marcas de tempo em resposta a alterações nos valores das células, existem várias soluções práticas alternativas. Neste artigo, vai encontrar uma variedade de abordagens — desde código VBA até técnicas avançadas com fórmulas — que lhe permitem gerar marcas de tempo automáticas de data e hora sempre que os valores das células forem modificados.
Registar automaticamente a data e a hora quando uma célula é alterada com código VBA
Registar automaticamente a data e a hora quando uma célula é alterada com código VBA
Imagine que tem uma tabela de valores em que precisa de acompanhar atualizações à medida que ocorrem. Por exemplo, a Data e Hora Atuais devem aparecer automaticamente na Coluna C sempre que um valor na Coluna B for alterado ou uma nova entrada for introduzida. Esta funcionalidade é essencial em registos de presenças, controlos de inventário ou qualquer fluxo de trabalho onde a marcação temporal das edições seja fundamental para o acompanhamento histórico, responsabilização ou conformidade.

Para automatizar este tipo de registo, pode utilizar uma macro VBA simples, adaptada à sua folha de cálculo. Ao contrário da introdução manual de marcas de tempo, este método baseado em VBA garante que o registo é capturado sempre que uma alteração for efetuada — reduzindo o trabalho manual e minimizando erros por omissão. No entanto, note que as soluções VBA exigem que os utilizadores ativem as macros e guardem o ficheiro num formato compatível com macros ().xlsm), sendo que o código VBA só será executado em ambientes onde as macros sejam permitidas.
Siga estes passos para implementar a funcionalidade de marca de tempo automática utilizando código VBA:
1. Mantenha premidas as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic para Aplicações.
2. Na janela do VBA, selecione a folha de cálculo pretendida no Explorador de Projetos à esquerda. Faça duplo clique na folha para abrir a respetiva janela de código e, em seguida, copie e cole o seguinte código VBA na área em branco do módulo:
Código VBA: Registar automaticamente a data e a hora quando uma célula é alterada
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20250722
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.Após introduzir o código, guarde as alterações e feche o editor do VBA. Regresse à folha de cálculo do Excel. A partir de agora, sempre que modificar ou introduzir novos dados numa célula da Coluna B, a célula adjacente na Coluna C será automaticamente atualizada com a data e hora atuais.
Notas e sugestões:
- Personalize a coluna: Pode ajustar a coluna em que as alterações são monitorizadas editando a linha Set WorkRng = Intersect(Application.ActiveSheet.Range(«B:B»), Target)no script. Por exemplo, substitua «B:B» pela coluna pretendida.
- Explicação do desfasamento da coluna: A linha xOffsetColumn = 1 determina qual coluna receberá o valor de data/hora. Alterar este número insere a marca de tempo mais à direita, avançando tantas colunas quanto o valor indicado (por exemplo, 2 para duas colunas de distância, 3 para três colunas, etc.).
- Comportamento em caso de eliminação: Se um valor for eliminado na coluna monitorizada, a respetiva marca de tempo na célula adjacente será automaticamente removida.
- Prevenção de erros:Certifique-se de guardar a sua pasta de trabalho num formato que permita macros ()
.xlsm) e não se esqueça de ativar as macros ao abrir o ficheiro, para garantir que a marca de tempo automática funciona corretamente. - Lembrete de compatibilidade: As soluções VBA poderão não funcionar como esperado se as macros estiverem desativadas ou em algumas plataformas baseadas na nuvem (como o Excel para a Web).
Este método é altamente fiável para a maioria dos utilizadores do Excel em ambiente desktop e adapta-se perfeitamente a conjuntos de dados de dimensão moderada, especialmente quando os registos de auditoria são essenciais. Caso necessite de marcas de tempo geradas de forma mais orientada por fórmulas ou acessível — sem recorrer a macros —, explore as abordagens descritas abaixo.
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos