Excel - macro que no detecta el cambio de una celda por contener una fórmula

 
Vista:
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro que no detecta el cambio de una celda por contener una fórmula

Publicado por celia (437 intervenciones) el 14/09/2019 12:42:26
En C2 tengo la fórmula =EXTRAE(B2;1;1) que extrae el primer carácter del texto que se escriba en B2

y esta macro debería ejecutarse cuando C2 cambia a valor "C" pero no lo hace:

1
2
3
4
5
6
Private Sub worksheet_change(ByVal Target As Excel.Range)
   If (Target.Address = "$C$2") And ([C2] = "C") Then
      Application.Speech.SpeakCellOnEnter = True
      Range("F2").Speak
   End If
End Sub

Sin embargo se escribes una "C" en la celda C2 sí que funciona pero se borra la fórmula que contiene
Adjunto la hoja mejor por si alguien sabe qué pasa.
Gracias por esta web.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Hector Madriz
Val: 575
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro que no detecta el cambio de una celda por contener una fórmula

Publicado por Hector Madriz (137 intervenciones) el 14/09/2019 19:52:49
Buen día, ten presente que la celda calculada no dispara el evento.

prueba esto:

cambia:
If (Target.Address = "$C$2") And ([C2] = "C") Then

por:
1
If Target.Address = "$B$2" And UCase([C2]) = "C" Then

o por: (No requieres usar la celda =EXTRAE(B2;1;1))
1
If (Target.Address = "$B$2") And (UCase(Left(Target, 1)) = "C") Then

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

macro que no detecta el cambio de una celda por contener una fórmula

Publicado por celia (437 intervenciones) el 15/09/2019 12:02:46
Muchas gracias Hector, me sirvió la 2ª opción.
Buen día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar