Visual Basic para Aplicaciones - En un UserForm un ChekBox dá la orden de True a otros tres ChekBos

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

En un UserForm un ChekBox dá la orden de True a otros tres ChekBos

Publicado por Joseangel (7 intervenciones) el 09/08/2019 20:01:31
En un UserForm hay tres ChekBox (CheckBox1, CheckBox2, CheckBox3) que realizan sus acciones independientes cuando son True. Otro CheckBox (chkTotal) convierte los anteriores tres en True.
Yo he programado:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub UserForm_Click()
 
    If chkTotal Then
        CheckBox1 = True
        CheckBox2 = True
        CheckBox3 = True
    Else
        CheckBox1 = False
        CheckBox2 = False
        CheckBox3 = False
    End If
End Sub

Funciona con un pequeño inconveniente.
En el UserForm después de clickar chkTotal no sucede nada, hasta que vuelvo a hacer un toque en el userForm, en ese momento los trs chekBox quedan clickados
Es como si faltase una ultima instruccion
Me podéis ayudar
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

En un UserForm un ChekBox dá la orden de True a otros tres ChekBos

Publicado por Martha (14 intervenciones) el 09/08/2019 22:46:55
Entiendo que deberías usar:

Private Sub UserForm_Initialize()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 121
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

En un UserForm un ChekBox dá la orden de True a otros tres ChekBos

Publicado por Alfredo (40 intervenciones) el 09/08/2019 23:39:15
Hola JoseAngel

Estas usando el evento de otro control

usa el evento Change de chkTotal

y seria mas fácil si pones

1
2
3
4
5
6
7
Private Sub chkTotal _Change()
 
   CheckBox1 = IIF(chkTotal ,True,False)
   CheckBox2 = IIF(chkTotal ,True,False)
   CheckBox3 = IIF(chkTotal ,True,False)
 
End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 6 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

En un UserForm un ChekBox dá la orden de True a otros tres ChekBos

Publicado por Joseangel (7 intervenciones) el 10/08/2019 09:11:39
Muchas gracias. Funciona perfectamente

José-Ángel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar