Notifications
Clear all

Dúvidad com evento WorksheetChange

2 Posts
2 Usuários
0 Reactions
889 Visualizações
 Jan
(@jan)
Posts: 12
Active Member
Topic starter
 

Boa noite pessoal.
Gostaria de pedir uma ajuda sobre o código abaixo. Porque o mesmo não está se comportando como deveria. Se eu clicar "12" ou qualquer outra coisa ele sempre execua o comando do else?
Antecipadamente agradeço

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("AI4").Address Then
        If Range("AI4") = 12 Then
            Range("AI4") = "Janfrancisco " & Date
        
        Else
            Range("AI4") = "Janfrancisco "
        End If
    ElseIf Target.Address = Range("AY4").Address Then
        If Range("AY4") = 12 Then
            Range("AY4") = "Janfrancisco " & Date
        End If
    
    End If
End Sub
 
Postado : 10/05/2015 5:32 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Cara, sem o teu anexo, eu arrisco 2 possibilidades:

- Primeira - sempre especifique que vc pretende pegar o valor da célula, ou seja, em vez de usar:
If Range("AI4") = 12 Then
Use:
If Range("AI4").value = 12 Then

E, outra coisa: vc está mandando executar um comando que roda ao mudar uma célula, e pedindo pra mudar a própria célula, o que, em teoria, deveria gerar um loop e rodar a madro infinitamente. Assim, exprimente o seguinte:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

    If Target.Address = Range("AI4").Address Then
        If Range("AI4").Value = 12 Then
            Range("AI4").Value = "Janfrancisco " & Date
        
        Else
            Range("AI4").Value = "Janfrancisco "
        End If
    ElseIf Target.Address = Range("AY4").Address Then
        If Range("AY4").Value = 12 Then
            Range("AY4").Value = "Janfrancisco " & Date
        End If
    
    End If

Application.EnableEvents = True

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 : 10/05/2015 10:54 pm