Notifications
Clear all

Fórmula em VBA

5 Posts
2 Usuários
0 Reactions
797 Visualizações
(@mengueh)
Posts: 0
New Member
Topic starter
 

Galera,
Estou montando um projeto aqui pra faculdade e preciso acrescentar uma fórmula através do VBA.

Cells(i + 7, 11).Formula = Range("J" & (i + 7)) * (2.54 / 100))

O problema deste comando, é que se eu, por exemplo, alterar algum valor das células J, não vai alterar na outra coluna pois a fórmula já foi executada no VBA, como eu poderia deixar ela dinâmica? Ao mudar o valor, altera o outro automaticamente?!

Grato!!

 
Postado : 22/10/2016 1:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Você pode chamar a rotina em que consta este comando no Evento Change, por exemplo:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 10 Then
Exit Sub
Else

...

End If

End Sub

 
Postado : 22/10/2016 1:21 pm
(@mengueh)
Posts: 0
New Member
Topic starter
 

Edson,

Sou totalmente novato, não faço ideia de nada..
Poderia dar uma explicação breve ou algo que possa me dar uma luz? Grato.

 
Postado : 22/10/2016 1:21 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Mengueh, precisamos entender um pouco melhor sua macro, mas há a possibilidade de disparar um evento a partir de qualquer alteração(digitação), por exemplo, na coluna J.

Um caminho seria:
Clicar com o botão direito sobre o nome da guia / Exibir código
Poderia ser um código como abaixo (colar):

Private Sub Worksheet_Change(ByVal Target As Range)

i= Target.Row

If Target.Column <> 10 Then
Exit Sub
Else

Cells(i + 7, 11).Formula = Range("J" & (i + 7)) * (2.54 / 100)

End If

End Sub

Ou seja, toda vez que digitar um valor na coluna 10 (J), a coluna 11 (K), linha de digitação + 7, vai receber a fórmula especificada.

 
Postado : 22/10/2016 7:52 pm
(@mengueh)
Posts: 0
New Member
Topic starter
 

Eu entendi tudo, somente uma coisa não: "<> 10".

Poderias me explicar?

 
Postado : 24/10/2016 5:40 am