Checkbox condição I...
 
Notifications
Clear all

[Resolvido] Checkbox condição If

3 Posts
2 Usuários
1 Likes
1,087 Visualizações
(@teleguiado)
Posts: 142
Estimable Member
Topic starter
 

Boa tarde!!

Alguém poderia me dizer porque esse código funciona.

If Check_SWTipo1 Or Check_SWTipo2 Or Check_SWTipo3 Or Check_SWTipo4 Or Check_CoreTipo1 Or Check_CoreTipo2 Or Check_CoreTipo3 Or Check_Controladora Or Check_AP Or Check_SFP Or Check_Cab_Emp1 Or Check_Cab_Emp2 Or Check_Soft_Ger Or Check_Soft_Cont Or Check_Soft_Ana Then
        Check_Swtich = True
    Else
        Check_Swtich = False
    End If

 

E esse não funciona.

 

    If Check_Eletroc Or Check_Canal_Al Or Check_Canal_PVC Or Check_Sealtubo Or Check_Eletrod_Flex_PVC Or Check_Eletrod_Rig_PVC Or Check_Eletrod_Aço Or Check_Guia_Cab Or Check_Frent_Fal Or Check_Band Or Check_Post_Alu Or Check_Rack_Piso Or Check_Rack_Parede Or Check_Suport_Diel Or Check_Conj_Anc Or Check_Caixa_Emenda Or Check_Post_Conc Then
        Check_Infra = True
    Else
        Check_Infra = False
    End If

Obrigado.

Teleguiado.
E-mail: telegui4do@gmail.com

 
Postado : 03/09/2021 5:39 pm
EdsonBR
(@edsonbr)
Posts: 1056
Noble Member
 

Boa noite, @teleguiado

Na verdade, quem não deveria estar funcionando seria o primeiro e não o segundo código, pois vc deve ter digitado errado o nome da checkbox: em vez de Check_Switch está Check_Swtich e não existe controle com esse nome em seu Userform. Se vc mantivesse habilitado o Option Explicit esse erro não teria ficado incógnito.

Por outro lado, minha sugestão seria fazer um loop pelos controles do frame ao invés de um If..Then..Else com dezenas de condicionais, já que os controles estão aninhados em frames. Se um deles fosse True, já sairia do loop e marcaria o controle pai. Poderia até mesmo dar um nome de grupo em tempo de design para aqueles grupos de checkboxes que vc quer verificar, usando a propriedade GroupName e, se o controle for desse grupo, verifica seu valor, etc. Ou ainda colocar os checkboxes numa matriz ou coleção e trabalhar com essa matriz ao invés de ir de um em um...

 
Postado : 05/09/2021 10:50 pm
teleguiado reacted
(@teleguiado)
Posts: 142
Estimable Member
Topic starter
 

@edsonbr

Resolvido

Removi no

Private Sub Check_Log_Visible_Click()

A Seguinte linha :

Check_Log = Check_Log_Visible

E o código funcionou pelo menos a parte de selecionar as Checkbox.

 

Obrigado.

Teleguiado.
E-mail: telegui4do@gmail.com

 
Postado : 06/09/2021 10:44 am