Excel – Gravando histórico de alterações na planilha
Postado em 01/07/2008 12:07:50 por Felipe DasiO código abaixo possibilita gravar as alterações efetuadas em uma planilha do Excel, gerando um log de alterações. Muito útil quando se quer monitorar e controlar as ações dos usuários em planilhas coorporativas.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim wsHist As Worksheet, Rng As Range Set wsHist = Sheets("História") If Sh Is wsHist Then Exit Sub Set Rng = wsHist.Range("A" & Rows.Count).End(xlUp).Offset(1) With Rng .Value = Now .Offset(, 1) = Sh.Name .Offset(, 2) = Target.Address If Target.Cells.Count > 1 Then .Offset(, 3) = "Valores Alterados" Else .Offset(, 3) = Target.Formula End If End With End Sub
Este código deve ser colocar dentro do módulo EstaPasta_de_trabalho (ThisWorkbook).
Todas as alterações são registradas em uma planilha chamada História que possui a seguinte configuração:
Basta começar a navegar por outras planilhas para ver o resultado.
Abraços
Felipe Dasi

![blog_planilha_historia[1]](http://www.tomasvasquez.com.br/blog/wp-content/uploads/2008/07/blog_planilha_historia1-300x105.jpg)
4 comentários para “Excel – Gravando histórico de alterações na planilha”
Olá
Tem como acrescentar um campo dizendo qual usuário alterou a planilha?
Obrigado
Felipe td joia?
Excelente código. Esta me ajudando bastante no desenvolvimento de uma rotina.
Preciso de uma ajuda, quando coloco um link DDE no excel e existe uma mudança de valor na celula, ele nao esta considerando a mudança somente quando dou enter. Sabe como devo proceder para implementar esta funcionalidade?
Olá,
Parabéns pela planiha, muito útil. É possivel gravar alterações sem ser valores numéricos ou alfabéticos??por exemplo: cor da célula.
Obrigado.
Olá Daniel,
Estamos discutindo sobre a planilha no nosso fórum:
http://www.tomasvasquez.com.br/forum
Nos vemos lá!
Abraços
Tomás