Ir ao conteúdo
  • Cadastre-se
Tiago Guarizzo

Excel VBA Não calcula as células que contem formula

Recommended Posts

Bom dia, Pessoal!!!

 

Preciso de uma ajuda, utilizo uma macro para que toda vez que a coluna B for atualizada preciso q seja lançado na frente de cada NF o horário e a data q foi alterado, porém eu consigo fazer a macro rodar somente quanto atualizo a célula manualmente, via formula "Automaticamente" não consigo sempre q a celula se altera o vba nao reconhece a alteração, se tiver alguem que possa me ajudar fico muito agradecido.

 

Private Sub Worksheet_Change(ByVal Alvo As Range)
 Dim limite_maximo As Integer
 limite_maximo = 1000 ' altere aqui para limitar a última linha
 If Alvo.Column = 2 And Alvo.Row >= 1 And Alvo.Row <= limite_maximo Then
' o if acima garante que a célula modificada está dentro a2:a1000
    ' desliga captura do evento change
Application.EnableEvents = False
    ' muda a célula C da linha correspondente
 Alvo.Offset(0, 18).Value = Time() ' Registra a hora
 Alvo.Offset(0, 19).Value = Date   ' Registra a data
'religa a captura de eventos
Application.EnableEvents = True
End If

End Sub

image.png.767cdfd12501b9bec33548570d255207.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso registrar a alteração sempre que a informação com o numero de NF for atualizada, e ela é atualizada com uma procv, porém o VBA não registra, ele so registra se eu alterar manualmente, estarei anexando a planilha acredito que fique mais fácil de entender

 

Desde ja muito obrigado em se propor a ajudar, estou precisando mesmo resolver essa questão.

Capturar1.PNG

Cópia de FATURAMENTO_2.xlsx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, Estou usando este codigo:

 

Private Sub Worksheet_Change(ByVal Alvo As Range)
 Dim limite_maximo As Integer
 limite_maximo = 1000 ' altere aqui para limitar a última linha
 If Alvo.Column = 2 And Alvo.Row >= 1 And Alvo.Row <= limite_maximo Then
' o if acima garante que a célula modificada está dentro a2:a1000
    ' desliga captura do evento change
Application.EnableEvents = False
    ' muda a célula C da linha correspondente
 Alvo.Offset(0, 18).Value = Time() ' Registra a hora
 Alvo.Offset(0, 19).Value = Date   ' Registra a data
'religa a captura de eventos
Application.EnableEvents = True
End If

End Sub

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

×