Como registrar data e hora automaticamente quando a célula muda?
É fácil para nós inserir data e hora estáticas manualmente ou inserir uma data dinâmica que muda com a hora do sistema com uma fórmula. Se você deseja registrar a data e a hora automaticamente ao alterar ou inserir valores, pode ser um pouco diferente para lidar com este problema. Mas, neste artigo, você pode resolver essa tarefa com as etapas a seguir.
Registre data e hora automaticamente quando a célula muda com o código VBA
Registre data e hora automaticamente quando a célula muda com o código VBA
Por exemplo, eu tenho um intervalo de valores e agora, quando eu alterar ou digitar novos valores na Coluna B, quero que registre automaticamente a data e a hora atuais na Coluna C como mostrado a seguir:
Você pode terminar esta tarefa com o seguinte código VBA. Por favor, faça o seguinte:
1. Segure o ALT + F11 chaves para abrir o Janela Microsoft Visual Basic for Applications.
2. Em seguida, escolha a planilha usada à esquerda Explorador de Projetos, clique duas vezes para abrir o Móduloe, em seguida, copie e cole o seguinte código VBA no módulo em branco:
Código VBA: registra 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. Em seguida, salve e feche este código para retornar à 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.
Observações:
1. No código acima, você pode modificar o “B: B”Para qualquer outra coluna em que você deseja alterar os valores das células neste script: Defina WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Destino).
2. Com isso xOffsetColumn = 1 script, você pode inserir e atualizar a data e hora para a primeira coluna ao lado de sua coluna de valor de alteração, você pode alterar o número 1 para outros números, como 2,3,4,5 ... isso significa que a data será inserida no segunda, terceira, quarta ou quinta coluna além da coluna de valores alterados.
3. Ao excluir um valor na coluna alterada, a data e a hora também serão removidas.
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!