You are on page 1of 3

Ejemplo 1 Ejecutar una macro cuando cambia

el valor de una celda


Primero abrimos el Editor de Visual Basic (VBE Alt + F11).
A continuacin seleccionamos la hoja en la que se encuentra nuestra celda
objetivo

Despus seleccionamos en la esquina superior izquierda de la ventana de


cdigo la opcin worksheet.

En la esquina superior derecha de la ventana cdigo seleccionamos la opcin


calculate.

El siguiente cdigo aparecer de manera automtica una vez seleccionemos la


opcin calculate:
Private Sub Worksheet_Calculate()

End Sub

El cdigo mostrado a continuacin tiene como celda objetivo la celda E12.


El condicional hace que cada vez que se realiza algun cculo en la hoja de excel
se evale si el resultado en la celda E12 ha cambiado. En caso de que haya
cambiado se guardar el nuevo resultado en la variable anteriorvalor para
utilizarlo como referencia posteriormente y se abrir una ventana (msgbox)
indicando al usuario el valor del nuevo resultado.

Private Sub Worksheet_Calculate()

Static anteriorvalor As Variant

If Range("E12").Value <> anteriorvalor Then

anteriorvalor = Range("E12").Value

MsgBox ("El nuevo valor del Area es " &


anteriorvalor)

End If

End Sub

En nuestro ejemplo hemos creado una frmula simple que clcula el area de
un rectgulo. Cada vez que el usuario cambie el ancho o alto del rectngulo nos
aparecer la siguiente ventana en pantalla:

You might also like