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.

Conoce más eventos

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *