Notifications
Clear all

Executar macro automaticamente ao digitar na célula

10 Posts
3 Usuários
0 Reactions
1,619 Visualizações
 CZa
(@cza)
Posts: 61
Trusted Member
Topic starter
 

Boa noite.

Já vi essa dúvida em vários sites e fóruns, e sempre dado como resolvido, mas estou tentando usar o código que é passado mas não consigo fazer o que desejo.

Criei uma macro para definir a máscara da célula em que consta a inscrição estadual de acordo com a UF (célula "B1") na célula anterior, gostaria que essa macro fosse chamada sempre que terminar de digitar o nº da inscrição estadual na célula "B2", sem MsgBox ou botões.

Pelo que vi, o código é esse, porém não consigo executar a macro...

Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Not Intersect(Target, Range("B2")) Is Nothing Then
                Call Macro1
        End If
        Application.EnableEvents = True
End Sub

Sub Macro1()
    MsgBox "Macro1"
End Sub
 
Postado : 14/01/2014 5:38 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

CZa,

Eu posso estar enganado, mas esse sistema de definir um intervalo funciona melhor quando vc usa o evento Selection_Change.

Como vc está usando o evento Worksheet_Change, eu sugiro fazer a referência da seguinte forma:

Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        If Target.Row = 2 And Target.Column = 2 Then
                Call Macro1
        End If
        Application.EnableEvents = True
End Sub

Sub Macro1()
    MsgBox "Macro1"
End Sub

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 14/01/2014 6:06 pm
 CZa
(@cza)
Posts: 61
Trusted Member
Topic starter
 

Obrigado pela resposta, gtsalikis, mas está dando o erro "Nome repetido encontrado: Macro1"....

Devo inserir o código em um módulo novo ou anteriormente a Macro1?

 
Postado : 14/01/2014 6:12 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

deu esse erro pq vc não apagou o que ja tinha.

vc está com 2 subs chamadas "Macro1"

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 14/01/2014 6:21 pm
 CZa
(@cza)
Posts: 61
Trusted Member
Topic starter
 

Desculpe o leigismo... Essa Sub da Msgbox é necessária? Teria como executa-la sem mostrar a box?

No mais brigadao cara...

 
Postado : 14/01/2014 6:28 pm
 CZa
(@cza)
Posts: 61
Trusted Member
Topic starter
 

Gilmar, segue a pasta, verifica pra mim o de porque não estar dando certo...

Obrigado.

 
Postado : 14/01/2014 6:50 pm
 CZa
(@cza)
Posts: 61
Trusted Member
Topic starter
 

E aí, Gilmar, alguma coisa?

 
Postado : 17/01/2014 4:14 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Veja o anexo

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 17/01/2014 5:27 pm
 CZa
(@cza)
Posts: 61
Trusted Member
Topic starter
 

Brigadão, cara...
E desculpa a insistência, mas preciso adaptar essa função com urgência em diversas planilhas na empresa em que atuo.

Vlw

 
Postado : 17/01/2014 7:28 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/01/2014 10:35 am