Se é para apagar o conteudo de "A1" se o valor de B1 for igual a "Fechado ou Concluido" não precisa ter dois If(s), e acredito que o erro deve ser pelo fato de como estamos utilizando o Evento Change entramos em um Loop infinito, uma vez que sempre que alterar qualquer celula ou mesmo a B1 a A1 será alterada e com isto acionando o Evento Change sempre.
Para resolver este Loop precisamos colocar uma interrupção utilizando a propriedade EnableEvents que evita que a rotina continue utilizando False e habilitando novamente com True, tambem ajustar a instrução para executar somente se for alterado somente o Range "B1", ficando da seguinte forma :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address <> "$B$1" Then GoTo fim
If Range("B1").Value = "Fechado" Or Range("B1").Value = "Concluido" Then
Range("A1").ClearContents
End If
fim:
Application.EnableEvents = True
End Sub
Faça os testes e veja se é isto.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 23/01/2016 9:11 pm