Ir ao conteúdo
  • Cadastre-se
Guto006

Excel criando log no excel vba – nome do usuário, data e hora de alteração

Recommended Posts

Bom tarde Senhores,

              Minha primeira publicação aqui, apesar de acompanha vocês por muito tempo.

              Atualmente uso um VBA para que me retorne Log e data de alteração em um planilha, no entanto, eu quero que na mesma planilha me retorne o Log e data de alteração em duas colunas distintas quando atero uma outra coluna.

              Exemplo: Se alterar a coluna A,B,C(qualquer umas das três) me retorna na coluna G o login e na coluna H a data e hora da alteração

                              Quero incluir mais um registro de alteração na mesma planilha igual de cima só que em outras células.

               Obs: É uma planilha compartilhada Office 2007 onde uso um Change para isso, assim consigo usar em compartilhamento.

              Segue o VBA:

 

              Sub worksheet_change(ByVal faixa As Range)
Dim dados As Range
Set dados = Range("AL1:AN5000")
If Not Intersect(faixa, dados) Is Nothing Then
Application.EnableEvents = False
dados.Cells(faixa.Row, -29).Value = Now()
dados.Cells(faixa.Row, -30).Value = VBA.Environ("username")
Application.EnableEvents = True
End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, @Guto006 . Seja bem vindo ao Clube do Hardware!

 

Não entendi muito bem onde você quer pôr os logs para mudanças nas colunas A,B,C, mas em linhas gerais seria adicionar uma condição no seu If existente.

  ElseIf Not Intersect(faixa, Me.Range("A:C")) Is Nothing Then
    Application.EnableEvents = False
      'local onde você quer colocar .Value = Now()
      'local onde você quer colocar .Value = VBA.Environ("username")
    Application.EnableEvents = True
  End If

Por outro lado eu pergunto: se a pasta de trabalho já tem compartilhamento, porque. não usar o próprio controle histórico oferecido pelo "Controlar Alterações" do Excel? Ali é possível gerar a qualquer momento uma planilha, cujo nome imutável é "Histórico" e que contém todas as informações que você precisa e mais algumas. Segue um print com uma amostra de um arquivo compartilhado que uso aqui:

 

Amostra Controle Alterações Excel.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Luiz

 

               Vou tentar deixa de modo claro.

   

               Hoje, qualquer alteração que ocorre nas colunas "AL", "AM" e "AN",  me retorna nas colunas "G" e "H" o Nome e Data.

               Usando os intervalo de Célula "AL:AN"

               No entanto também preciso que me retorne nas colunas "D" e "E" Nome e data das alterações da coluna "A" independente das alterações de outras células.

 

               Porque não uso o "History" automático da planilha compartilhada?

               Por que algumas vezes preciso tirar do compartilhamento para fazer algumas alterações e aí, o histórico se perde. Já utilizando a macro isso não ocorre.

              E por outro motivo, uso uma formatação condicional na coluna "G" que quanto a macro é ativada e me aparece o nome de quem alterou, a linha fica verde, identificando que a atividade foi finalizada.

 

              Obs: Alterei a extensão da planilha de .xlsb para .xls e assim posso anexar direto aqui no forum.

 

Espero ter sido claro, me ajudem.

 

 

Backlog_FO.xls

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×