Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Resumir código checkbox

Dúvidas gerais sobre Excel
fabiodias
Colaborador
Colaborador
Mensagens: 97
Registrado em: Seg Set 21, 2009 10:25 am

Resumir código checkbox

Mensagem por fabiodias »

Olá pessoal!!

Gostaria de uma ajuda dos senhores... tem alguma forma de resumir esse código? esse Form é um cadastro onde para cada "Tarefa" preciso marcar os checkboxs que são perguntas para marcar se aquele item atende ou não. para cada tarefa são 9 checkboxs. os itens que eu marco no form aparece um "x" na planilha.

Desde já agradeço!!


Private Sub CheckBox1_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D11").Value = "X"
End If
If CheckBox1 = False Then
Range("D11").Value = "NA"
End If
End Sub

Private Sub CheckBox10_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P12").Value = "X"
End If
If CheckBox1 = False Then
Range("P12").Value = "NA"
End If
End Sub

Private Sub CheckBox11_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N12").Value = "X"
End If
If CheckBox1 = False Then
Range("N12").Value = "NA"
End If
End Sub

Private Sub CheckBox12_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L12").Value = "X"
End If
If CheckBox1 = False Then
Range("L12").Value = "NA"
End If
End Sub

Private Sub CheckBox13_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J12").Value = "X"
End If
If CheckBox1 = False Then
Range("J12").Value = "NA"
End If
End Sub

Private Sub CheckBox14_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H12").Value = "X"
End If
If CheckBox1 = False Then
Range("H12").Value = "NA"
End If
End Sub

Private Sub CheckBox15_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F12").Value = "X"
End If
If CheckBox1 = False Then
Range("F12").Value = "NA"
End If
End Sub

Private Sub CheckBox16_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D12").Value = "X"
End If
If CheckBox1 = False Then
Range("D12").Value = "NA"
End If
End Sub

Private Sub CheckBox17_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R13").Value = "X"
End If
If CheckBox1 = False Then
Range("R13").Value = "NA"
End If
End Sub

Private Sub CheckBox18_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P13").Value = "X"
End If
If CheckBox1 = False Then
Range("P13").Value = "NA"
End If
End Sub

Private Sub CheckBox19_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N13").Value = "X"
End If
If CheckBox1 = False Then
Range("N13").Value = "NA"
End If
End Sub

Private Sub CheckBox2_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F11").Value = "X"
End If
If CheckBox1 = False Then
Range("F11").Value = "NA"
End If
End Sub

Private Sub CheckBox20_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L13").Value = "X"
End If
If CheckBox1 = False Then
Range("L13").Value = "NA"
End If
End Sub

Private Sub CheckBox21_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("j13").Value = "X"
End If
If CheckBox1 = False Then
Range("j13").Value = "NA"
End If
End Sub

Private Sub CheckBox22_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H13").Value = "X"
End If
If CheckBox1 = False Then
Range("H13").Value = "NA"
End If
End Sub

Private Sub CheckBox23_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F13").Value = "X"
End If
If CheckBox1 = False Then
Range("F13").Value = "NA"
End If
End Sub

Private Sub CheckBox24_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D13").Value = "X"
End If
If CheckBox1 = False Then
Range("D13").Value = "NA"
End If
End Sub

Private Sub CheckBox25_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D14").Value = "X"
End If
If CheckBox1 = False Then
Range("D14").Value = "NA"
End If
End Sub

Private Sub CheckBox26_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R14").Value = "X"
End If
If CheckBox1 = False Then
Range("R14").Value = "NA"
End If
End Sub

Private Sub CheckBox27_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P14").Value = "X"
End If
If CheckBox1 = False Then
Range("P14").Value = "NA"
End If
End Sub

Private Sub CheckBox28_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N14").Value = "X"
End If
If CheckBox1 = False Then
Range("N14").Value = "NA"
End If
End Sub

Private Sub CheckBox29_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L14").Value = "X"
End If
If CheckBox1 = False Then
Range("L14").Value = "NA"
End If
End Sub

Private Sub CheckBox3_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H11").Value = "X"
End If
If CheckBox1 = False Then
Range("H11").Value = "NA"
End If
End Sub

Private Sub CheckBox30_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J14").Value = "X"
End If
If CheckBox1 = False Then
Range("J14").Value = "NA"
End If
End Sub

Private Sub CheckBox31_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H14").Value = "X"
End If
If CheckBox1 = False Then
Range("H14").Value = "NA"
End If
End Sub

Private Sub CheckBox32_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F14").Value = "X"
End If
If CheckBox1 = False Then
Range("F14").Value = "NA"
End If
End Sub

Private Sub CheckBox33_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D15").Value = "X"
End If
If CheckBox1 = False Then
Range("D15").Value = "NA"
End If
End Sub

Private Sub CheckBox34_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R15").Value = "X"
End If
If CheckBox1 = False Then
Range("R15").Value = "NA"
End If
End Sub

Private Sub CheckBox35_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P15").Value = "X"
End If
If CheckBox1 = False Then
Range("P15").Value = "NA"
End If
End Sub

Private Sub CheckBox36_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N15").Value = "X"
End If
If CheckBox1 = False Then
Range("N15").Value = "NA"
End If
End Sub

Private Sub CheckBox37_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L15").Value = "X"
End If
If CheckBox1 = False Then
Range("L15").Value = "NA"
End If
End Sub

Private Sub CheckBox38_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J15").Value = "X"
End If
If CheckBox1 = False Then
Range("J15").Value = "NA"
End If
End Sub

Private Sub CheckBox39_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H15").Value = "X"
End If
If CheckBox1 = False Then
Range("H15").Value = "NA"
End If
End Sub

Private Sub CheckBox4_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J11").Value = "X"
End If
If CheckBox1 = False Then
Range("J11").Value = "NA"
End If
End Sub

Private Sub CheckBox40_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F15").Value = "X"
End If
If CheckBox1 = False Then
Range("F15").Value = "NA"
End If
End Sub

Private Sub CheckBox41_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D16").Value = "X"
End If
If CheckBox1 = False Then
Range("D16").Value = "NA"
End If
End Sub

Private Sub CheckBox42_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R16").Value = "X"
End If
If CheckBox1 = False Then
Range("R16").Value = "NA"
End If
End Sub

Private Sub CheckBox43_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P16").Value = "X"
End If
If CheckBox1 = False Then
Range("P16").Value = "NA"
End If
End Sub

Private Sub CheckBox44_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N16").Value = "X"
End If
If CheckBox1 = False Then
Range("N16").Value = "NA"
End If
End Sub

Private Sub CheckBox45_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L16").Value = "X"
End If
If CheckBox1 = False Then
Range("L16").Value = "NA"
End If
End Sub

Private Sub CheckBox46_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J16").Value = "X"
End If
If CheckBox1 = False Then
Range("J16").Value = "NA"
End If
End Sub

Private Sub CheckBox47_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H16").Value = "X"
End If
If CheckBox1 = False Then
Range("H16").Value = "NA"
End If
End Sub

Private Sub CheckBox48_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F16").Value = "X"
End If
If CheckBox1 = False Then
Range("F16").Value = "NA"
End If
End Sub

Private Sub CheckBox49_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D16").Value = "X"
End If
If CheckBox1 = False Then
Range("D16").Value = "NA"
End If
End Sub

Private Sub CheckBox5_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L11").Value = "X"
End If
If CheckBox1 = False Then
Range("L11").Value = "NA"
End If
End Sub

Private Sub CheckBox50_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R17").Value = "X"
End If
If CheckBox1 = False Then
Range("R17").Value = "NA"
End If
End Sub

Private Sub CheckBox51_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P17").Value = "X"
End If
If CheckBox1 = False Then
Range("P17").Value = "NA"
End If
End Sub

Private Sub CheckBox52_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N17").Value = "X"
End If
If CheckBox1 = False Then
Range("N17").Value = "NA"
End If
End Sub

Private Sub CheckBox53_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L17").Value = "X"
End If
If CheckBox1 = False Then
Range("L17").Value = "NA"
End If
End Sub

Private Sub CheckBox54_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J17").Value = "X"
End If
If CheckBox1 = False Then
Range("J17").Value = "NA"
End If
End Sub

Private Sub CheckBox55_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H17").Value = "X"
End If
If CheckBox1 = False Then
Range("H17").Value = "NA"
End If
End Sub

Private Sub CheckBox56_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F17").Value = "X"
End If
If CheckBox1 = False Then
Range("F17").Value = "NA"
End If
End Sub

Private Sub CheckBox57_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("D18").Value = "X"
End If
If CheckBox1 = False Then
Range("D18").Value = "NA"
End If
End Sub

Private Sub CheckBox58_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R18").Value = "X"
End If
If CheckBox1 = False Then
Range("R18").Value = "NA"
End If
End Sub

Private Sub CheckBox59_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P18").Value = "X"
End If
If CheckBox1 = False Then
Range("P18").Value = "NA"
End If
End Sub

Private Sub CheckBox6_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N11").Value = "X"
End If
If CheckBox1 = False Then
Range("N11").Value = "NA"
End If
End Sub

Private Sub CheckBox60_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("N18").Value = "X"
End If
If CheckBox1 = False Then
Range("N18").Value = "NA"
End If
End Sub

Private Sub CheckBox61_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("L18").Value = "X"
End If
If CheckBox1 = False Then
Range("L18").Value = "NA"
End If
End Sub

Private Sub CheckBox62_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("J18").Value = "X"
End If
If CheckBox1 = False Then
Range("J18").Value = "NA"
End If
End Sub

Private Sub CheckBox63_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("H18").Value = "X"
End If
If CheckBox1 = False Then
Range("H18").Value = "NA"
End If
End Sub

Private Sub CheckBox64_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("F18").Value = "X"
End If
If CheckBox1 = False Then
Range("F18").Value = "NA"
End If
End Sub

Private Sub CheckBox65_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T11").Value = "X"
End If
If CheckBox1 = False Then
Range("T11").Value = "NA"
End If
End Sub

Private Sub CheckBox66_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T12").Value = "X"
End If
If CheckBox1 = False Then
Range("T12").Value = "NA"
End If
End Sub

Private Sub CheckBox67_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T13").Value = "X"
End If
If CheckBox1 = False Then
Range("T13").Value = "NA"
End If
End Sub

Private Sub CheckBox68_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T14").Value = "X"
End If
If CheckBox1 = False Then
Range("T14").Value = "NA"
End If
End Sub

Private Sub CheckBox69_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T15").Value = "X"
End If
If CheckBox1 = False Then
Range("T15").Value = "NA"
End If
End Sub

Private Sub CheckBox7_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("P11").Value = "X"
End If
If CheckBox1 = False Then
Range("P11").Value = "NA"
End If
End Sub

Private Sub CheckBox70_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T16").Value = "X"
End If
If CheckBox1 = False Then
Range("T16").Value = "NA"
End If
End Sub

Private Sub CheckBox71_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T17").Value = "X"
End If
If CheckBox1 = False Then
Range("T17").Value = "NA"
End If
End Sub

Private Sub CheckBox72_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("T18").Value = "X"
End If
If CheckBox1 = False Then
Range("T18").Value = "NA"
End If
End Sub

Private Sub CheckBox8_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R11").Value = "X"
End If
If CheckBox1 = False Then
Range("R11").Value = "NA"
End If
End Sub

Private Sub CheckBox9_Click()
Worksheets("PCQ").Activate
If CheckBox1 = True Then
Range("R12").Value = "X"
End If
If CheckBox1 = False Then
Range("R12").Value = "NA"
End If
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Resumir código checkbox

Mensagem por Mauro Coutinho »

Fabio, olhando as rotinas, de inicio, o que da para se fazer, é analizarmos os pontos em comuns que temos nas instruções :

Primeiro :
A Aba para o Lançamento é igual para todos os Lançamentos só alterando os Ranges :
Worksheets("PCQ")

Segundo :
Todos os CheckBoxs verificam, se em CheckBox1 o valor é Verdadeiro ou Falso.
Se "True", lançamos "X", se "False", lançamos "NA".

O único porém quanto as condições "True e False", é que só temos uma ação definida se "False" no CheckBox1, ou seja nos demais checkBox não existe esta verificação, ela sempre lançara o valor conforme a condição do CheckBox1.

Quanto ao Primeiro e Segundo item, eu dei uma ajustada no código, no Evento Click do ChecBox1 tambem, criando uma function e definindo a aba atraves da rotina, nos demais CheckBoxs somente fiz a chamada a rotina global.

Posto dois exemplos, um deles utilizei rotina para capturar o Controle pelo Nome Dinamicamente, tambem daria para utilizar este tipo para reduzir ainda mais as rotinas, uma vez que capturamos as proriedades do controle quando é clicado.

Resumindo, de uma olhada, acredito que não será muito dificil fazer outras adaptações, e qualquer duvida, retorne.

Controles CheckBox_1
CheckBoxFabio.rar
(10.4 KiB) Baixado 237 vezes
Controles CheckBox_2
Para este exemplo usei as dicas do site (http://j-walk.com/ss/excel/tips/tip44.htm)
Array CheckBoxFabio.rar
(12.31 KiB) Baixado 245 vezes

No site abaixo tem uma forma de criar controles dinamicamente em \tempo dde execução e tambem como capturar os cliques, vale a pena dar uma olhada.
http://www.tek-tips.com/faqs.cfm?fid=5757

[]s


fabiodias
Colaborador
Colaborador
Mensagens: 97
Registrado em: Seg Set 21, 2009 10:25 am

Re: Resumir código checkbox

Mensagem por fabiodias »

Olá Mauro...

Muito obrigado pelas dicas... vou dar uma analisada e fazer os testes... e ja retorno.

Mas desde ja agradeço!

Abraço!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder