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

[Resolvido] - Manter CheckBox Flegado Ao Abrir Formulário

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
cassio
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Nov 12, 2020 5:06 pm

[Resolvido] - Manter CheckBox Flegado Ao Abrir Formulário

Mensagem por cassio »

Prezados, boa noite!

No meu formulário possui somente uma CheckBox, e quando eu marco a mesma, quero que a célula "U4" apareça o número 1 e quando seja desmarcado aparecer o número 0. O problema é que sempre que eu abro o formulário a CheckBox não mantem a marcação "Flegado".
Acredito que seja algo fácil pra vocês que possuem conhecimento no VBA.

Fico agradecido caso possam me ajudar!
Editado pela última vez por cassio em Ter Dez 15, 2020 9:41 pm, em um total de 1 vez.


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
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Manter CheckBox Flegado Ao Abrir Formulário

Mensagem por webmaster »

Me.CheckBox1.Value = True


cassio
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Nov 12, 2020 5:06 pm

Re: Manter CheckBox Flegado Ao Abrir Formulário

Mensagem por cassio »

Webmaster, boa noite!

Inseri o código que você fez mas não deu certo, pois a checkbox fica flegado de forma fixa.
Estou usando o código abaixo, porém como havia dito ao reabrir o formulário, a checkbox não mantem gravado o flegue, pois tem que ser opcional, se a pessoa marcou a checkbox ao reabrir tem que aparecer flegado, caso contrario, se não marcou ao reabri tem que estar desmarcado a checkbox.

Código que estou usando:

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then Range("U4").Value = 1

If CheckBox1.Value = False Then Range("U4").Value = 0

End Sub


Fico agradecido pelo que você puder fazer!
Obrigado!


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Manter CheckBox Flegado Ao Abrir Formulário

Mensagem por webmaster »

cassio,

Só posso pensar que o valor do Checkbox está linkado a alguma célula. Tente aplicar o código num novo checkbox. Se funcionar, provavelmente tem alguma outra parte do código forçando o estado do controle.


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
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Manter CheckBox Flegado Ao Abrir Formulário

Mensagem por Reinaldo »

Creio que por default, um checkbox e "carregado" como False; exceto nos casos em que sua propriedade tiver "forçado" como true.
No evento de abertura do Form (Initialize ou Activate) pode-se verificar o valor existente na celula e "Flegar" o checkbox de acordo
Algo +/-

Código: Selecionar todos

If Range("U4").Value = 1 Then 
     CheckBox1.Value = True
Else
     CheckBox1.Value = False
end if


cassio
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qui Nov 12, 2020 5:06 pm

Re: Manter CheckBox Flegado Ao Abrir Formulário

Mensagem por cassio »

Senhores, boa noite!

Informo que o seu código do Sr. Reinaldo deu certo na minha planilha, muito obrigado.
Aproveito também para agradecer o Senhor Webmaster por se empenhar em me ajudar também.
Obrigado a todos!!!

Meu código ficou assim:

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then Range("U4").Value = 1
If CheckBox1.Value = False Then Range("U4").Value = 0
End Sub

Private Sub UserForm_Initialize()
If Range("U4").Value = 1 Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End Sub

Mais uma vez, obrigado pela ajuda e atençã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