Saltar al contenido

casilla verificación triple estado


Recommended Posts

publicado

Buen día foreros;

Adjunto una macro que contiene un formulario y una casilla de verificación con triple estado.

Si pulso sobre ella arroja un mensaje en su etiqueta con la propiedad .Caption

Me funciona con .Value= True y .Value="False" 

Lo que no se configurar es que cuando no sea ninguno de los dos primeros casos la propiedad .Caption sea igual a "Todos".

-Esto es un recorte de un formulario y este check me permite según su estado el filtro solo las facturas pagadas, pendientes y "todas".

-Igual no es viable hacerlo, si es así agradecería la confirmación.

Un saludo y buen día.

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
CheckBox1.Caption = "Pagado"
CheckBox1.ForeColor = vbBlue
ElseIf CheckBox1.Value = False Then
CheckBox1.Caption = "Pendiente"
CheckBox1.ForeColor = vbRed
Else
CheckBox1.Caption = "Todos"
End If
End Sub

Private Sub UserForm_Activate()
CheckBox1.Value = True
CheckBox1.Caption = "Pagado"
CheckBox1.ForeColor = vbBlue
End Sub

 

TripleEstado.xlsm

publicado

El problema es que el tercer estado no dispara el evento click, por lo que debes usar el evento change.

Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
   CheckBox1.Caption = "Pagado"
   CheckBox1.ForeColor = vbBlue
ElseIf CheckBox1.Value = False Then
   CheckBox1.Caption = "Pendiente"
   CheckBox1.ForeColor = vbRed
Else
   CheckBox1.Caption = "Todos"
End If
End Sub

 

publicado

Hola Antoni,  

Gracias por el apunte. 

Ya me parecía extraño que teniendo las tres opciones no se pudiese configurar.

Un abrazo  maestro?

Que teñas bo día  a pesar da ?

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.