Macro que se ejecuta cuando cambia una celda

Hola!
Necesito ayuda, tengo una celda que al cabo de un tiempo cambia de valor y necesito que una macro se ejecute cuando detecta que esa celda cambio, no se como se hace
Tengo varios workboocks usados, la celda que cambia esta en un libro llamado mímico, la celda O21, ES LA QUE VA A CAMBIAR
Por favor ayúdenme

1 Respuesta

Respuesta
1
Puedes intentarlo con el siguiente código.
Este va el la parte del worksheet que este ejecutando o donde quieres que se ejecute la macro, pero antes necesitas cambiar el nombre la celda O21 por el de VB_Trigger
Public Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim O As Long
O = Range("h1").Value
'   Determina el evento para observar una celda
    If Target.Address = Range("VB_Trigger").Address Then
'       Accion a tomar
        Select Case Target.Value
'si vb_trigger es igual a vacio manda un mensaje
            Case Is = ""
                MsgBox "Por Favor Introduce la información que reemplazara a la existente"
'si vb_trigger es igual a cero manda un mensaje
            Case Is = 0
                MsgBox "Estas seguro de que deseas poner un valor cero para rempalzar el dato anterioreste dato"
'si vb_trigger es diferente al vacio ejecuta esta o tales rutinas
            Case Is ""
                Macro2
        End Select
    End If
End Sub
Nada más cambia las rutinas por las que tu desees, espero te sirva.
Saludos y por favor cierra esta pregunta para que alguien más que pueda tener una duda similar a la tuya la pueda ver.
Hola! Muchas gracias por responder, pero tengo más inquietudes, no entendí eso de o=range("h1"). value
Y algo más, la celda que cambia de valor cambia de 0 a 1 y puede cambiar luego atra vez de 1 a 0, me interesa solo es que cuando haga el primer cambio (cuando pase a 1) se quede ahí con ese valor y que de ahí me ejecute otra función.
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas