Iniciar macro al cambio de una celda
Publicado por Roberto (17 intervenciones) el 28/10/2016 09:02:33
Hola muy buenas a todos.
Tengo un excel en el que quiero lanzar un mensaje de alerta cuando el valor de una cierta celda cambia. El valor de dicha celda cambia automáticamente porque existe un reloj en la Hoja que cuenta el tiempo acumulado de parada. El caso es que tengo la celda R6 que cambia a "RENDIMIENTO BAJO" si el tiempo es > a 16min.
Cuando se detecta el cambio es cuando quiero que se inicie la macro del mensajito, puesto que si la inicio al abrir el libro, si el tiempo de parada es >16min, el mensaje aparece cada segundo que pasa.
Macro del reloj
Este es el código que uso para detectar el cambio y con ello, iniciar la macro del mensaje
El caso es que solo detecta cambios que hago yo manualmente en la celda. No cambios debidos a la fórmula que hay dentro de la celda R6. Sabéis de alguna forma mágica que solucione este problema?
Muchísimas gracias de antemano!
Tengo un excel en el que quiero lanzar un mensaje de alerta cuando el valor de una cierta celda cambia. El valor de dicha celda cambia automáticamente porque existe un reloj en la Hoja que cuenta el tiempo acumulado de parada. El caso es que tengo la celda R6 que cambia a "RENDIMIENTO BAJO" si el tiempo es > a 16min.
Cuando se detecta el cambio es cuando quiero que se inicie la macro del mensajito, puesto que si la inicio al abrir el libro, si el tiempo de parada es >16min, el mensaje aparece cada segundo que pasa.
Macro del reloj
1
2
3
4
5
6
Sub Tiempo()
Workbooks("KITS_ENVASADOS_PALETIZADOmacro").Sheets("Hoja1").Range("Q4").Formula = "=NOW()"
Application.OnTime Now + TimeValue("00:00:02"), "Tiempo"
End Sub
Este es el código que uso para detectar el cambio y con ello, iniciar la macro del mensaje
1
2
3
4
5
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$R$6" Then
Call mensaje
End If
End Sub
1
2
3
4
5
6
7
8
9
Sub mensaje()
If Range("R6") = "RENDIMIENTO BAJO" Then
MsgBox "Posible bajada rendimiento", vbExclamation, "Control paradas"
End If
End Sub
El caso es que solo detecta cambios que hago yo manualmente en la celda. No cambios debidos a la fórmula que hay dentro de la celda R6. Sabéis de alguna forma mágica que solucione este problema?
Muchísimas gracias de antemano!
Valora esta pregunta


0