Casilla de verificación en VBA

Una casilla de verificación es un control ActiveX que podemos utilizar para permitir que un usuario marque una opción y por lo tanto poder conocer sus preferencias al verificar dicho valor en código VBA.

El control ActiveX casilla de verificación

Para insertar este control debemos ir al comando Insertar y seleccionar la opción Casilla de verificación (Control ActiveX).

Control ActiveX Casilla de Verficación

Después de dibujar este control tendrás el siguiente resultado:

Casilla de verificación en Excel

Propiedades de una casilla de verificación

La primera propiedad que desearas modificar de una casilla de verificación será su propiedad Caption que es la que almacena el texto desplegado dentro del control ActiveX. Por ejemplo, si deseo que el control muestre el texto “Mayor de edad” debo hacer el cambio de la siguiente manera:

Propiedad Caption de una casilla de verificación

La otra propiedad de una casilla de verificación que tal vez quieras modificar será la propiedad Value que de manera predeterminada tendrá el valor False lo cual indica que el control se mostrará desmarcado. Si deseas que el control se muestre marcado de manera predeterminada, debes poner el valor True en la propiedad Value:

Propiedad Value de una casilla de verificación

Valor de una casilla de verificación

Una casilla de verificación nos dirá su ha sido seleccionada o no, es decir, nos devolverá un valor FALSO o VERDADERO. Para leer este valor debemos acceder a la propiedad Value del control de la siguiente manera:

Private Sub CheckBox1_Click()
Range("C4").Value = CheckBox1.Value
End Sub

Esta línea de código coloca el valor de la casilla de verificación en la celda C4. De esta manera, al seleccionar la casilla de verificación obtendré el siguiente resultado:

Valor de una casilla de verificación

Para validar en VBA si la casilla de verificación tiene un valor u otro podemos utilizar un código como el siguiente:

If CheckBox1.Value = True Then Range("C4").Value = 1
If CheckBox1.Value = False Then Range("C4").Value = 0

La primera línea valida si el control ActiveX tiene un valor verdadero y  de ser así coloca el número 1 en la celda C4. Si la casilla de verificación no ha sido seleccionada (falso) entonces colocará el número cero en la celda C4.