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