Criando log no Excel VBA – Nome do usuário VBA, Data e hora VBA
Objetivo: Disponibilizar um exemplo de como ter uma planilha de log, indicando quando foi digitado um valor específico na planilha.
Esta planilha possui um código Excel VBA bastante simples, demonstrando como preencher uma coluna com a data da alteração e outra com o nome do usuário logado que realizou a alteração.
O código abaixo já está com a devida explicação, e você pode baixar o exemplo e depurar o código para vê-lo funcionando, chamo a atenção para o detalhe de desligar a escuta do sistema para procedimentos que foram executados, afim de que o sistema não entre em loop.
'A cada alteração em uma célula este procedimento é executado Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo TratarErro 'Identifica se a coluna está preenchida e se a coluna selecionada foi a 1 If Target.Column = 1 And Target.Value "" Then 'Desliga a escuta dos eventos temporariamente Application.ScreenUpdating = False 'Passa a data e hora atual e o usuário Target.Offset(0, 1).Value = Now() Target.Offset(0, 2).Value = VBA.Environ("username") End If TratarErro: 'Liga novamente a escuta dos eventos Application.ScreenUpdating = True End Sub
Abraço
Marcos Rieper