Ejecutar al cambiar valor de celda

¿Cómo puedo hacer que exista un msgbox listo para activarse si cambia el valor de una celda determinada en una hoja determinada...?

1 respuesta

Respuesta
1
Te dejo este código de ejemplo
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
MsgBox Sh.Name & "!" & Target.AddressLocal 
End Sub
Sh es la Hoja
Target es la celda
No entendí muy bien que digamos... La Celda "G21" de la Hoja "Inicio" (porque existen más de 20 hojas dentro del mismo libro) esta vacía, al asignarle el número "5" necesito que emerja un msgbox que diga "Aplicar Distinción?", 36, "¿Aplicación" como lo hago pero que se active única y exclusivamente con esa celda en solo esa hoja...?
Para tu caso especifico sería así
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If UCase(Sh.Name) = "INICIO" Then
        If Target.AddressLocal = "$G$21" Then
            If Range(Sh.Name & "!" & Target.AddressLocal).Value = "5" Then
                MsgBox "APLICAR DISTINCION"
            End If
            If Range(Sh.Name & "!" & Target.AddressLocal).Value = "36" Then
                MsgBox "APLICACION"
            End If
        End If
    End If
End Sub
Este código debe ir el el módulo del objeto ThisWorkbook para que funcione.
Por si acaso sigue este procedimiento:
1.-En Excel abre el Editor de Visual Basic ALT+F11
2.-En el panel Explorador de Proyectos selecciona el objeto ThisWorkbook
3.-En el módulo que se muestra pega el código

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas