Notifications
Clear all

Procedimento conforme valor da célula

5 Posts
2 Usuários
0 Reactions
819 Visualizações
(@kurkas)
Posts: 85
Estimable Member
Topic starter
 

Boa tarde,
Como faço para que quando o valor de uma célula mude, haja um procedimento?
Ou seja, o valor da célula é resultante de uma operação entre outras, logo não é digitado nada.
Eu quero que quando apareça 2, seja executada uma macro e que quando apareça 1 seja executada outra.
Estou a usar : Private Sub Worksheet_Change(ByVal Target As Range),
mas acontece que só corre se digitar os valores na célula, mas não vou poder faze-lo visto ser o resultado de outras operações.
Como faço.

 
Postado : 12/05/2014 5:40 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Em nossa base de dados há exemplos similares, use a pesquisa do fórum!

Não testado!!

Private Sub Worksheet_Change(ByVal Target As Range)
    If [A1].Value = 2 Then
    Call Macro1 'Vai chamar a Macro 1
    ElseIf [A1].Value = 1 Then
     Call Macro2 'Vai chamar a Macro 2
    Else: Exit Sub
End Sub

Att

 
Postado : 12/05/2014 5:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A alteração de valores em uma formula não gera/dispara o evento Change, portanto nem sempre será executada/captado a modificação.
Dependendo do que são e como são efetuada essas "outras operações", pode-se experimentar utilizar o evento "Calculate" no lugar do "Change"

 
Postado : 12/05/2014 6:15 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Olá Reinaldo, sinceramente eu não observei esse detalhe, imaginado que o valor da célula seria alterado manualmente (sem uso de formulas). :oops: :cry:

kurkas, caso tenha formulas, o Reinaldo tem razão, simplesmente não ocorrerá a ação do evento após via formulas o resultado da célula mudar.

Att

 
Postado : 12/05/2014 7:45 am
(@kurkas)
Posts: 85
Estimable Member
Topic starter
 

Olá,

Mais uma que fiquei a saber!
Agradeço desde já, mas resolvi doutra maneira.
Bem haja!

 
Postado : 13/05/2014 12:47 am