none
Cómo ejecutar un macro al cambiar el valor de una celda

Respuestas

  • Hola! puedes utilizar el evento al cambiar la hoja de calculo
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = "$A$1"
    Then MsgBox "Cambió A1 "
    End Sub
    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    • Editado Emilio Sancha lunes, 02 de enero de 2012 19:30
    • Marcado como respuesta gbocchio lunes, 02 de enero de 2012 21:51
    lunes, 02 de enero de 2012 19:29

Todas las respuestas

  • Hola! puedes utilizar el evento al cambiar la hoja de calculo
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = "$A$1"
    Then MsgBox "Cambió A1 "
    End Sub
    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    • Editado Emilio Sancha lunes, 02 de enero de 2012 19:30
    • Marcado como respuesta gbocchio lunes, 02 de enero de 2012 21:51
    lunes, 02 de enero de 2012 19:29
  • Hola Emilio:

    Gracias por tu respuesta fue de mucha ayuda!!!

    Sin mebargo, Target almacena el contenido de la celda por lo que tuve que hacer unos pequeños cambios para que funcione como necesito.  

     
        If Range("A1") > 0 And Range("A1") <> Range("B1") Then
       
            MsgBox "Cambió A1=" & Range("A1")
            Range("B1").Value = Range("A1")
       
        End If

    Como son varias las celdas que cambian de valor y solo necesito activar el macro cuando se modifican algunas se me ocurrió copiar el último valor a otra celda y utilizarlo como mecanismo de control. Si se te ocurre una mejor forma de hacerlo por favor avísame.

    Slds,

    GB

     

    lunes, 02 de enero de 2012 20:37
  • En realidad debería haber puesto If Target.Address = "$A$1" Then
    Si son varias puedes ponerlo así
    Select Case Target.Address
    Case "$A$1", "$C$1", "$F$1", "$A$5"
    Lo que sea
    End Select

    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/
    martes, 03 de enero de 2012 16:33