Excel – Gravando histórico de alterações na planilha
O 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)
23 Convidados
3 Bots
dezembro 8th, 2008 at 14:15
Olá
Tem como acrescentar um campo dizendo qual usuário alterou a planilha?
Obrigado
fevereiro 27th, 2009 at 17:53
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?
julho 2nd, 2010 at 15:51
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.
julho 2nd, 2010 at 16:31
Olá Daniel,
Estamos discutindo sobre a planilha no nosso fórum:
http://www.tomasvasquez.com.br/forum
Nos vemos lá!
Abraços
Tomás
agosto 29th, 2011 at 13:20
Daniel,
Me ajudou bastante essa sua postagem. Precisei desse código com certa urgência e como está simples e rápido de fazer, me trouxe sucesso! Obrigada pela ajuda!
Abraços,
Raquel Lamas.
dezembro 12th, 2011 at 16:21
Pessoal, muito bom o código, fiz algusn testes e deu tudo certo. Apenas fiquei com uma dúvida. No histórico quando excluimos ou adicionamos uma linha ocorre a mesma menssagem (“Valores Alterados”). Teria como diferencia-los?
abs e Obrigado.
dezembro 12th, 2011 at 17:58
Klelio,
Corre para o fórum colocar sua dúvida que lá é o melhor lugar para resolver ela:
http://www.tomasvasquez.com.br/forum
Nos vemos lá!
Tomás