Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

VBA Excel - Gravando histórico das alterações na planilha - Log in Sheet


Que tal acompanhar as alterações e intervenções efetuadas nos seus Relatórios, Dashboards e Scorecards desenvolvidos com o MS Excel?

Sim, com uma simples implementação, e algum código poderá acompanhar tudo o que foi alterado na sua planilha.

Este recurso pode ser útil:

Ao acompanharmos padrões de manipulação dos dados.

Para rastrearmos as ações de um determinado usuário.

Na detecção de erros.

Se você tiver algum tempo adicional, poderá implementar essa alteração em todas as planilhas corporativas ou nas que você disponibilizar, podendo concentrar o histórico de todas num único local.

Sim, é possível fazer tais registros em arquivo texto, ou mesmo numa base de dados MS Access

1 - Crie uma aba History
2 - Cole o código abaixo no módulo EstaPasta_de_trabalho (ThisWorkbook).

Sub Workbook_SheetChange (ByVal Sh As Object, ByVal Target As Range)

    ' Author:                     Date:               Contact:                 URL:
    ' André Bernardes             02/10/2012 10:58    bernardess@gmail.com     http://inanyplace.blogspot.com/
    ' documenta as alterações efetuadas nessa planilha.
    
    Dim wsHist As Worksheet, Rng As Range
    
    Set wsHist = Sheets("History")
    Let Application.ScreenUpdating = False
    Let Sheets("History").Visible = True
    
    If Sh Is wsHist Then Exit Sub

    Set Rng = wsHist.Range("A" & Rows.Count).End(xlUp).Offset(1)

    With Rng
        Let .Value = Now
        Let .Offset(, 1) = "Sheet: " & Sh.Name & " in Workbook: " & Replace(Sh.Application.Caption, "Microsoft Excel - ", "") & " no Path: " & Sh.Application.DefaultFilePath
        Let .Offset(, 2) = "Alterado por: " & Sh.Application.UserName
        Let .Offset(, 3) = Target.Address
        Let .Offset(, 4) = Target.Formula
    End With

    Let Application.ScreenUpdating = True
    Let Sheets("History").Visible = False
End Sub

3 - Salve a planilha e altere o conteúdo de uma célula.


Tags: VBA, Excel, Log, Sheet, Info, histórico, registro, histórico, alteração, planilha

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine