Ejercicios con el Evento WorkSheet_Change de VBA
El evento VBA Worksheet_Change se activa cuando cambia el contenido de una o más celdas en una hoja de cálculo de Excel. Esto significa que cada vez que escribas, insertes, elimines o edites datos en una hoja de cálculo, el código asociado a ese evento se ejecutará automáticamente.
¿Para qué se utiliza?
El evento Worksheet_Change es una herramienta que se puede utilizar para una variedad de tareas, como por ejemplo:
- Actualiza automáticamente los resultados de cálculos o fórmulas con relación a cambios en los datos.
- Valide la entrada del usuario para garantizar su precisión e integridad.
- Formatee una celda según su contenido o valor.
- Muestra u oculta controles de usuario basados en datos seleccionados.
- Ejecute macros o programas personalizados en respuesta a cambios específicos en su hoja de cálculo.
- Registre el historial de cambios de la hoja de cálculo.
- Sincronizar datos con otras aplicaciones o bases de datos.
¿Cómo se utiliza?
Para utilizar el evento Worksheet_Change, primero debe crear un proceso en el editor VBA. Luego agregue este proceso a la hoja de trabajo donde desea activar el evento. Esto se puede hacer colocando el siguiente código en el módulo de hoja de cálculo:
Private Sub Worksheet_Change(ByVal Target As Range)
' Tu código aquí
End Sub
El código del procedimiento Worksheet_Change se ejecuta cada vez que cambia una celda o un rango de celdas en la hoja de trabajo. El parámetro Target de procedimiento representa el rango de celdas que se cambiaron. Puede utilizar este parámetro para acceder a las propiedades y métodos de la celda modificada.
Ejemplo:
El siguiente código muestra cómo utilizar el evento Worksheet_Change para resaltar en amarillo todas las celdas que contengan un valor negativo:
Private Sub Worksheet_Change(ByVal Target As Range)
' Recorrer cada celda en el rango modificado
For Each celda In Target
' Si el valor de la celda es negativo, resaltarla en amarillo
If celda.Value < 0 Then
celda.Interior.Color = vbYellow
End If
Next celda
End Sub
En este ejemplo, cada vez que una celda cambia en la hoja de trabajo, el código recorre el rango de celdas modificado y verifica si el valor en cada celda es negativo. Si es así, la celda se resaltará en amarillo.
Responses