Visualización de mensajes cuando cambian los datos automáticos

July 8

Joydip tiene una hoja de cálculo de Excel que se actualiza constantemente y de forma automática con los datos del mercado de los productos básicos en vivo. Quiere mostrar un cuadro de mensaje que contiene un mensaje en particular siempre que los datos especificados en un cambio celular / alcance para satisfacer algunos criterios predefinidos. La validación de datos no funcionará, porque la característica de validación no se activa cuando los datos cambia automáticamente.

La mejor manera de comprobar los datos y mostrar el cuadro de mensaje deseado es utilizar una macro que se activa por el evento Worksheet. Este evento se lanza cualquier momento el contenido de una célula se cambian. No es, sin embargo, desencadenada por un cambio en lo que se muestra en una celda. Por ejemplo, si una nueva pieza de datos de los productos básicos se coloca en una célula, entonces se activa el evento. Sin embargo, si una fórmula se vuelve a calcular y un nuevo resultado de que la fórmula representada, el evento no es activa. ¿Por qué? Debido a que la fórmula en sí no ha cambiado; fue sólo el resultado de la fórmula (lo que se muestra) que se ha cambiado.

Una vez que se activa el evento Worksheet_Change, la macro puede hacer lo que quieras que haga, incluyendo mostrar su mensaje. Para este ejemplo, vamos a suponer que el rango de comprobarlo es A1: C5 (aquí es donde se han insertado los datos de los productos básicos) y que los criterios que desea activar el mensaje es que el promedio de la gama es 5. Si el contenido de cualquier celda del rango se cambia y la media de los valores en el rango es de 5, se muestra un mensaje.

Private Sub Worksheet_Change (Target ByVal como Excel.Range)
Rng Dim como gama
Rng Set = Range ("A1: C5")
Si No Intersect (Target, RNG) es nada Entonces
Si Application.WorksheetFunction. _
Promedio (RNG) = 5 Y
MsgBox "El promedio de" & _
rng.Address & "= 5"
End If
End If
Rng Set = Nothing
End Sub

Es importante que esta macro se colocará en el objeto de hoja de la hoja de trabajo que desea supervisar. Cuando se muestra el Editor de VBA, haga clic en la hoja de trabajo que desee en el área Explorador de proyectos, a continuación, seleccione Ver código en el menú contextual resultante. Esta ventana de código es donde se colocan la macro.

La macro, de nuevo, se activa cada vez que hay un cambio en cualquier parte de la hoja de trabajo. La macro utiliza la función Intersect para determinar si el cambio se produjo en el A1 deseado: gama C5. Si así fuera, entonces el valor medio del campo está marcada, y el mensaje se muestra si el resultado es 5.

ExcelTips es su fuente de capacitación rentable Microsoft Excel. Esta punta (2906) se aplica a Microsoft Excel 97, 2000, 2002, y 2003.