Notifications
Clear all

Selectall em Checkbox

4 Posts
2 Usuários
0 Reactions
671 Visualizações
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, Srs.

Procurei na net algo que seleciona-se todos os checkbox do meu UserForm até ai tranquilo, o problema esta acontecendo quando eu tiro a seleção de uma dos checkbox o " Selecionar todos " continua selecionado, gostaria de uma ajuda dos senhores para tentar adaptar a ideia do arquivo anexo que realiza direto na plan para dentro de um UserForm.

Anexo:

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 28/05/2015 6:25 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Tente

 
Private Sub Selectall_Click()
Dim ctrl As Control

  For Each ctrl In Me.Controls
    If TypeOf ctrl Is msforms.CheckBox Then
      ctrl.Value = Me.Selectall.Value
    End If
  Next
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/05/2015 5:42 am
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, alexandrevba.

A parte de selecionar tudo e tirar a seleção de tudo esta bacana, minha duvida agora é a seguinte.
Meus CheckBox de 1 a 5 estão marcados, mas vou la e tiro a seleção de um deles, logo teria que desmarcar o Selectall e deixar os demais, tem como fazer isso ?

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 29/05/2015 7:08 pm
Trindade
(@trindade)
Posts: 278
Reputable Member
Topic starter
 

Boa noite, alexandrevba,

Se possivel gostaria de sua ajudar para adaptar esse código em um UserForm.

Sub CheckBox1_Click()
Dim CB As CheckBox
    For Each CB In ActiveSheet.CheckBoxes
        If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name Then
        CB.Value = ActiveSheet.CheckBoxes("Check Box 1").Value
        End If
    Next CB
End Sub

Sub Mixed_State()
Dim CB As CheckBox
    For Each CB In ActiveSheet.CheckBoxes
        If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name And CB.Value <> ActiveSheet.CheckBoxes("Check Box 1").Value And ActiveSheet.CheckBoxes("Check Box 1").Value <> 2 Then
        ActiveSheet.CheckBoxes("Check Box 1").Value = 2
        Exit For
        Else
        ActiveSheet.CheckBoxes("Check Box 1").Value = CB.Value
        End If
    Next CB
End Sub

Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.

 
Postado : 31/05/2015 4:53 pm