Notifications
Clear all

Validar vários checkbox's

5 Posts
2 Usuários
0 Reactions
676 Visualizações
(@eduardo-lg)
Posts: 3
New Member
Topic starter
 

Olá pessoal,
Sempre estou lendo e aprendendo bastatne aqui no forum.

Mas últimamente estou com um projeto um pouco mais ambicioso que até o momento não consegui resolver um dos meus problemas (a duas semanas que estou tentando e pesquisando na internet mas tá brabo.... :P )

Na realidade eu preciso que ao pressionar o botão, a textbox1 receba todos os Captions dos Checkbox selecionados.
o problema é que eu não consigo fazer o "for" percorrer entre todos os checkbox's e ver quais estão selecionados. Estando este selecionado a textbox1 recebe o valor que está no Caption.

seria só isso :mrgreen: :shock:

segue abaixo o codigo do botão

a parte que está em vermelho é justamente a parte que está dando erro...

""
Dim manu(1 To 120) As String
Dim cont As Integer

Private Sub CommandButton2_Click()
If Me.ComboBox1.Value <> "Selecione a OS e pressione inserir" And Me.ComboBox1.Value <> "Selecione a proxima OS" Then ''verifica se foi selecionado alguma os
texto = Me.ComboBox1.Value
Me.TextBox1.Value = texto + ", " + Me.TextBox1.Value ''inclui a os selecionada + a existente na textbox
Me.ComboBox1.Value = "Selecione a proxima OS"
End If
For cont = 1 To 120 Step 2
IF checkbox(cont).value = true then

manu(cont) = checkbox(cont).caption
Me.TextBox1.Value = manu(cont) + ", " + Me.TextBox1.Value ''inclui a os selecionada + a existente na textbox
end if
Next cont

End Sub
""

Desde já agradeço a todos (as) que puderem me ajudar.
Obrigado!

 
Postado : 14/10/2013 7:22 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eduardo, li e reli sua rotina e sinceramente não compreendi, o ideal seria anexar um modelo compactado para que possa analisar melhor, ou dar uma pincelada nesta sua explicação.

Por hora o que dá para dizer, é que está referenciando errado os Controles CheckBox, coloque as rotinas abaixo em seu formulário, crie 3 CommandButtons com os Nomes CommandButton1, CommandButton2 e CommandButton3, depois abra o formulario e clique nos mesmos, assim será mais fácil sua compreensão :

Lembrando que os CheckBox(s) nas rotinas abaixo estão com os nomes Padrão (CheckBox1, 2, 3, ...)

Private Sub CommandButton1_Click()
    Dim ctrl As MSForms.Control
  
    'Define Valor TRUE para todos os CheckBox no Formulário
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is MSForms.CheckBox Then
            ctrl.Object.Value = True
        End If
    Next

End Sub

Private Sub CommandButton2_Click()
    Dim ctrl As MSForms.Control
    
    'Exibe o Nome de Todos os CheckBox
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is MSForms.CheckBox Then
            MsgBox ctrl.Name
        End If
    Next

End Sub

Private Sub CommandButton3_Click()
    Dim ctrl As MSForms.Control
        
    'Define o Valor TRUE somente para o CheckBox
    'de nome CheckBox1
    For Each ctrl In Me.Controls
        If ctrl.Name = "CheckBox1" Then
            ctrl.Object.Value = True
        End If
    Next

End Sub

[]s

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

 
Postado : 14/10/2013 8:04 pm
(@eduardo-lg)
Posts: 3
New Member
Topic starter
 

Deixa eu tentar me expressar de outra maneira.

Eu tenho um formulário com mais de 100 checkbox.
eu preciso de um código que:

1º. saiba quais estão selecionados
2º. envie o caption do que está selecionado para uma textbox.

"minha dúvida toda é como fazer com que "ao pressionar o botão" o textbox receba todos os captions de todos os checkbox's selecionados.

 
Postado : 14/10/2013 8:29 pm
(@eduardo-lg)
Posts: 3
New Member
Topic starter
 

consegui resolver com o código do botão 1 enviado por vc. obrigado

Private Sub CommandButton2_Click()
Dim ctrl As MSForms.Control
         If Me.ComboBox1.Value <> "Selecione a OS e pressione inserir" And Me.ComboBox1.Value <> "Selecione a proxima OS" Then ''verifica se foi selecionado alguma os
            texto = Me.ComboBox1.Value
            Me.TextBox1.Value = texto + ", " + Me.TextBox1.Value ''inclui a os selecionada + a existente na textbox
            Me.ComboBox1.Value = "Selecione a proxima OS"
         End If
                     'Define Valor TRUE para todos os CheckBox no Formulário
                For Each ctrl In Me.Controls
                  
                  If TypeOf ctrl Is MSForms.CheckBox And ctrl.Object.Value = True Then
                     
                     Me.TextBox1.Value = ctrl.Object.Caption + ", " + Me.TextBox1.Value ''inclui a os selecionada + a existente na textbox
                                  
                  End If
                Next
                                       
             
End Sub
 
Postado : 14/10/2013 8:50 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tópico Resolvido!
Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

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

 
Postado : 14/10/2013 9:10 pm