Pessoal,
Consulto um arquivo que é editado por outras pessoas todos os dias. Para não perder tempo checando informações antigas da planilha, a ideia é fazer uma macro para, sempre que alguma linha tiver célula(s) alterada, a data da alteração ficar registrada numa célula vizinha. Dessa maneira, eu posso checar somente as linhas que foram alteradas no dia. Checando na net, vi que existe um recuso chamado timestamp. A macro que eu encontrei segue abaixo.
Sub worksheet_change(ByVal faixa As Range)
Dim dados As Range
Set dados = Range("A1:E200")
If Not Intersect(faixa, dados) Is Nothing Then
Application.EnableEvents = False
dados.Cells(faixa.Row, 6).Value = Date
Application.EnableEvents = True
End If
End Sub
A macro funciona perfeitamente. Qualquer alteração feita no intervalo de dados A1:E200 (Set dados = Range("A1:E200")) pode ser identificada através da data que é escrita na coluna F da linha que sofreu alteração (dados.Cells(faixa.Row, 6).Value = Date). O problema é que, por algum motivo, essa macro não permite desfazer alguma ação na planilha, nem utilizando Ctrl+V, nem clicando no botão Desfazer do menu.
Como essa planilha é editada por outras pessoas, não posso tirar essa opção do arquivo. Alguém tem ideia de como eu posso fazer?
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 07/02/2012 1:07 pm