Tag Archives: Log

Modelo – Log com as Alterações nas Planilhas

Mais uma ótima colaboração do nosso fórum.

Este Modelo foi criado pelo Daniel Petralanda Santos da Petrobras em 2002.

Fiz algumas adaptações sómente no layout para explicar melhor o uso.

O que ele faz :

Toda vez que abrimos o Aplicativo é Criado um arquivo de LOG com extensão TXT no diretório aonde se encontra a planilha, e toda alteração é gravado nele encriptada, se abrirem o TXT criado verão que é ilegivel.

Altere qualquer celula em qualquer planilha e depois clique em EXIBIR LOG e selecione o Log, e verá as modificações que foram feitas nas planilhas, em que dia, horario e qual foi a alteração, ou seja qual o valor que era antes e para qual foi alterado.

Se quiser acrescentar mais planilhas tem de copiar o código para essas, clique com o botão direito na planilha escolha exibir código, copie e cole nas plan que acrescentar.

É bem interessante, vale uma ressalva quanto ao arquivo texto criado, o ideal seria alterar na rotina para que o mesmo seja criado em um outro diretorio para evitar que se deletem o mesmo.

Vale a pena baixar e testar.

Download da Planilha

LogAlteracao.rar

Discussões sobre esta planilha estão sendo feitas também no nosso fórum:

http://www.tomasvasquez.com.br/forum/viewtopic.php?f=17&t=769&start=0

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.

<< Download da planilha >>

Abraços

Felipe Dasi