Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/03/2009, 10:31
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 9 meses
Puntos: 88
De acuerdo Respuesta: macros: cambio en una celda

Hola! Amigos. Una alternativa podría ser:
a) Clic con botón derecho en la solapa de la hoja a controlar y seleccionar la opción: Ver código

b) Copiar y pegar lo siguiente:

Código:
Private Sub Worksheet_Calculate()
Static MiValor As Double
If MiValor = 0 Then MiValor = [a1]
If MiValor = [a1] Then Exit Sub

MsgBox "Cambio en A1"
MiValor = [a1]
End Sub
c) Cerrar VBA y volver a Excel.

El código anterior supervisa modificaciones en la celda [A1] de la hoja considerada siendo que [A1] contiene una fórmula que depende de los valores de otras celdas.
Al detectar el cambio se ejecuta: MsgBox "Cambio en A1", mientras que MiValor = [a1] almacena el nuevo valor a efectos futuros.

Como "Static MiValor As Double" inicializa a la variable "MiValor" en cero, ése es el único valor que el procedimiento no controla.

Se trata de un ejemplo sencillo: luego hay que adaptarlo para otros usos.

Saludos, Cacho.