Página 1 de 1
Historico de atualização
Enviado: 08 Jan 2019 às 10:32
por rit
Bom dia Amigos,
Tenho uma planilha que marca a hora em que uma determinada coluna é alterada e joga essa data em outra planilha, isso dentro de uma mesma pasta, o problema é que toda vez que eu altero uma linha ele substitui a ultima alteração, gostaria de saber se tem como eu gerar o historico de alterações gravando até 3 datas por linha, ou seja as tres primeiras alterações na linha que eu alterar ele gere um historio..
Alguem consegue me ajudar com isso?
Obrigado!
Historico de atualização
Enviado: 08 Jan 2019 às 16:01
por Jimmy
Rit,
Não parece difícil mas você tem que passar mais detalhes.
Anexe um modelo da planilha funcionando da forma atual, uma explicação desse funcionamento, e como você gostaria que ela passasse a funcionar.
Assim ficará mais fácil te ajudar.
Jimmy San Juan
Historico de atualização
Enviado: 09 Jan 2019 às 10:00
por rit
Não existe um modelo ainda estou moldando isso, mas eu apenas preciso armazenar uma data de modificação para ter um historico da forma que eu estou fazendo ele sempre altera a data não existe um armazenamento, ja viu algo parecido com isso?
Preciso que quando uma determinada celula seja alterada seja registrado essa data e fique armazenada e se for alterada no mesmo dia não registre mais, apenas se for alterado em outro dia ai sim registre..
Re: Historico de atualização
Enviado: 09 Jan 2019 às 12:50
por babdallas
Só verificar se a data atual (sem as horas, somente dia, mês e ano) é diferente da data da célula. Se for diferente, registra a data. Se for igual, não registra.
Historico de atualização
Enviado: 10 Jan 2019 às 06:29
por rit
Consegue me escrever a linha de código que faria isso? um exemplo?
Eu estou usando o evento Worksheet_Change(ByVal Target As Range) quando ele altera a coluna O ele registra a data da alteração cruzando linha e coluna
Exemplo:
Código: Selecionar todosIf Target.Column = 15 Then
If Plan1.Range("O" & Target.Row).Value <> "" Then
Planilha4.Range("B" & Target.Row).Value = Plan1.Range("E" & Target.Row).Value
Historico de atualização
Enviado: 10 Jan 2019 às 07:30
por Jimmy
Olá Rit,
Coloque a macro abaixo no evento CHANGE da planilha a ser monitorada.
Altere a quantidade (variável QTD da macro) e o nome da planilha que receberá o registro. (objeto ONDE).
Quando algo é alterado na coluna "O" da planilha monitorada, a macro olha para a mesma linha da planilha Plan4. Se já tiver a quantidade de registros máximo (no meu exemplo, 5), ela apaga a mais antiga, da coluna A, e registra. Se o conteúdo a ser registrado foi igual ao anterior, ele não registra (mesma data, por exemplo).
Código: Selecionar todosPrivate Sub Worksheet_Change(ByVal Target As Range)
Set Inter = Intersect(Target, Range("O:O"))
If Not Inter Is Nothing Then
Qtd = 5 'Define a quantidade de colunas de registro
Set Onde = Sheets("Plan4")
For Each Cel In Inter
Lin = Cel.Row
Col = Onde.Cells(Lin, Columns.Count).End(xlToLeft).Column
Cont = Int(Now()) 'Define o conteúdo a ser registrado
If Onde.Cells(Lin, Col).Value <> Cont Then 'Não faz registro igual ao anterior
If Col >= Qtd Then 'Vai precisar apagar células
Onde.Range(Cells(Lin, 1), Cells(Lin, Col - Qtd + 1)).Delete Shift:=xlToLeft
Col = Qtd
Else
If Cells(Lin, Col) <> "" Then Col = Col + 1
End If
Onde.Cells(Lin, Col).Value = Cont 'Registra conteúdo
End If
Next
End If
End Sub
Teste e de retorno.
Jimmy San Juan
Re: Historico de atualização
Enviado: 10 Jan 2019 às 08:51
por rit
Cara desculpa meu baixo conhecimento mas eu não consegui adaptar a minha necessidade, estou anexando um "exemplo" do que eu preciso, se puder me ajudar com isso ficaria agradecido.
Essa planilha em anexo faz o seguinte: Quando alguma linha da coluna O possui um texto especifico ele grava na planilha HISTORICO e abre uma tela de e-mail, quando eu retiro esse item ele apaga da planilha historico, queria manter esse historico... se possivel.
Historico de atualização
Enviado: 14 Jan 2019 às 07:33
por rit
Alguem?