Excel – Gravando histórico de alterações na planilha

Postado em 01/07/2008 12:07:50 por Felipe Dasi

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.

<< Download da planilha >>

Abraços

Felipe Dasi

  1. 4 comentários para “Excel – Gravando histórico de alterações na planilha”

  2. Por vinicius em 08/12/2008 14:12:51 | Responder

    Olá
    Tem como acrescentar um campo dizendo qual usuário alterou a planilha?

    Obrigado

  3. Por Leonardo em 27/02/2009 17:02:39 | Responder

    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?

  4. 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.

  5. Olá Daniel,

    Estamos discutindo sobre a planilha no nosso fórum:

    http://www.tomasvasquez.com.br/forum

    Nos vemos lá!
    Abraços
    Tomás

Você precisa ser um usuário registrado para inserir um comentário. Faça seu login clicando aqui