Salvar opção do Opt...
 
Notifications
Clear all

Salvar opção do Optionbutton

10 Posts
3 Usuários
0 Reactions
2,481 Visualizações
(@joao0212)
Posts: 28
Eminent Member
Topic starter
 

Boa tarde..
Tenho um formulário, onde tem alguns optionbutton e textbox.
Tudo que eu registro nas textbox, preenche automaticamente na planilha, que fica oculta enquanto o formulário está aberto.
Quando eu salvo o form e reabro, tudo que eu preenchi fica salvo na planilha e no formulário.
O form tem a opção de salvar em todos os botões, pois é um form de 11 páginas.
Eu gostaria de saber como eu faço pra, qnd eu marcar uma opção de optionbutton e mandasse salvar e fechar, qnd eu reabrisse ele estivesse com a opção que eu marquei.
Não sei se a dúvida ficou clara...
De qlqr forma, agradeço se puderem me ajudar!!
Obrigado.

 
Postado : 02/12/2013 1:02 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

joao0212,

Boa Tarde!

Se entendi corretamente, o que você quer é quando você abrir o formulário, ele "ler" o que foi gravado e refletir essa realidade. Ou seja, se você marcou o optionbutton ele deve iniciar o formulário marcado.

Bem, se esse entendimento estiver correto, na minha opinião, quando você gravar os dados na planilha, você deve gravar também em alguma coluna (que pode até ficar oculta) ou em uma aba somente de controle (que também pode ficar oculta), a informação de que um determinado optionbutton foi clicado. Seria algo tipo assim: Se optionbutton1 foi clicado, então registra-se na planilha o número 1. Se não foi clicado, não registra nada ou registra 0. Daí, quando você carregar o formulário e trazer as últimas informações que você gravou para ele, você ler também essa coluna e habilita o optionbutton conforme a convenção que você criou.
Por exemplo: vamos supor que o optionbutton se chama OptionButton1 e que a coluna reservada para os controles seja a coluna ZZ, a partir da linha 1, na Plan1. Para gravar os dados, quando o optionbutton estiver selecionado você varia assim:

Sheets("Plan1").Range("ZZ1").Value = 1

Quando você for carregar os dados para o formulário você verifica o que está na coluna e modifica a propriedade Value do OptionButton de acordo com a convenção que criou. Seria assim, no caso acima:

If Sheets("Plan1").Range("ZZ1").Value = 1 then OptionButton1.Value = True

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 02/12/2013 2:07 pm
(@joao0212)
Posts: 28
Eminent Member
Topic starter
 

joao0212,

Boa Tarde!

Se entendi corretamente, o que você quer é quando você abrir o formulário, ele "ler" o que foi gravado e refletir essa realidade. Ou seja, se você marcou o optionbutton ele deve iniciar o formulário marcado.

Bem, se esse entendimento estiver correto, na minha opinião, quando você gravar os dados na planilha, você deve gravar também em alguma coluna (que pode até ficar oculta) ou em uma aba somente de controle (que também pode ficar oculta), a informação de que um determinado optionbutton foi clicado. Seria algo tipo assim: Se optionbutton1 foi clicado, então registra-se na planilha o número 1. Se não foi clicado, não registra nada ou registra 0. Daí, quando você carregar o formulário e trazer as últimas informações que você gravou para ele, você ler também essa coluna e habilita o optionbutton conforme a convenção que você criou.
Por exemplo: vamos supor que o optionbutton se chama OptionButton1 e que a coluna reservada para os controles seja a coluna ZZ, a partir da linha 1, na Plan1. Para gravar os dados, quando o optionbutton estiver selecionado você varia assim:

Sheets("Plan1").Range("ZZ1").Value = 1

Quando você for carregar os dados para o formulário você verifica o que está na coluna e modifica a propriedade Value do OptionButton de acordo com a convenção que criou. Seria assim, no caso acima:

If Sheets("Plan1").Range("ZZ1").Value = 1 then OptionButton1.Value = True

Boa tarde Wagner.
O que eu quero é realmente isso que você falou, porém ao usar sua linha de código no meu, ele não deu certo.
Eu coloquei dentro de cada optionbutton essas duas linhas que você passou, cada uma apontando pra uma linha da planilha diferente.
Porém, quando eu abro o form e clico em algum botão, ele marca o primeiro, independente do botão que eu apertei e não muda a opção.
Qnd olhei na planilha, percebi que nas linhas que eu tinha botado pra cada botão, ela já tinha acrescentado o valor 1.
Não entendi o porque.
Você entendeu? senão me fala que eu tento ser mais claro.
Obg

 
Postado : 03/12/2013 11:24 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Com um exemplo/modelo (com poucos dados e fictícios se necessário; ficará muito simples obter uma resposta mais direta.
Entendo que o OptionButton não esteja só, deve ser pelo menos 2 em cada escolha, entendo também que essa escolha já é (ou deveria ser) salva na planilha em um campo especifico.
Exemplo: Supondo que uma das escolhas seja sexo, então teremos 2 OptionButton's (1 Masculino, 2 Feminino), ao salvar esse registro, na planilha deve (ou deveria) ser salvo M ou F.
Então ao carregar esse registro deve ser feita um tratamento,sem a necessidade de uma coluna adicional:

If endereçodacelula.value="F" then
OptionButton1=False
OptionButton2=true
else
OptionButton1=true
OptionButton2=false
end if

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

 
Postado : 03/12/2013 1:01 pm
(@joao0212)
Posts: 28
Eminent Member
Topic starter
 

Com um exemplo/modelo (com poucos dados e fictícios se necessário; ficará muito simples obter uma resposta mais direta.
Entendo que o OptionButton não esteja só, deve ser pelo menos 2 em cada escolha, entendo também que essa escolha já é (ou deveria ser) salva na planilha em um campo especifico.
Exemplo: Supondo que uma das escolhas seja sexo, então teremos 2 OptionButton's (1 Masculino, 2 Feminino), ao salvar esse registro, na planilha deve (ou deveria) ser salvo M ou F.
Então ao carregar esse registro deve ser feita um tratamento,sem a necessidade de uma coluna adicional:

If endereçodacelula.value="F" then
OptionButton1=False
OptionButton2=true
else
OptionButton1=true
OptionButton2=false
end if

Reinaldo,
Não entendi o começo do seu código.
endereçodacelula seria uma variável né?
Mas como ela apontaria pra célula que eu quero guardar?

 
Postado : 04/12/2013 10:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Meu jovem, sem poder ver seu modelo, vamos ficar adivinhando.
Como mencionei no post anterior, acredito que já esteja salvando a informação do botão de opção, pois no post inicial é mencionado

Quando eu salvo o form e reabro, tudo que eu preenchi fica salvo na planilha e no formulário

Bom sendo assim, troque o termo: "endereçodacelula" (não é uma variável mas sim o endereço onde consta a informação salva) pelo endereço da célula onde é salvo a informação do botão de opção.
Porem volto a afirmar, receberá uma melhor ajuda se disponibilizar um modelo de seu arquivo/programa. Caso contrario iremos trocar inúmeros post's sem sucesso.

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

 
Postado : 04/12/2013 11:09 am
(@joao0212)
Posts: 28
Eminent Member
Topic starter
 

Meu jovem, sem poder ver seu modelo, vamos ficar adivinhando.
Como mencionei no post anterior, acredito que já esteja salvando a informação do botão de opção, pois no post inicial é mencionado

Quando eu salvo o form e reabro, tudo que eu preenchi fica salvo na planilha e no formulário

Bom sendo assim, troque o termo: "endereçodacelula" (não é uma variável mas sim o endereço onde consta a informação salva) pelo endereço da célula onde é salvo a informação do botão de opção.
Porem volto a afirmar, receberá uma melhor ajuda se disponibilizar um modelo de seu arquivo/programa. Caso contrario iremos trocar inúmeros post's sem sucesso.

Reinaldo,
Exportei o meu form1 e enviarei em anexo.
O que eu queria, era que quando eu marcasse um optionbutton e mandasse salvar, ao abrir o mesmo continuaria com a marcação.
Tentei usar o seu código, mas o mesmo implica que a opção já estivesse na planilha para ele fazer o teste.
Pelo menos foi o meu entedimento no mesmo.
Veja se da pra trabalhar com esse .zip que irei te mandar e se você veria uma boa opção.
Desde ja agradeço!!
Obrigado.

 
Postado : 04/12/2013 12:06 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

joao0212,

Boa Tarde!

Tá difícil, viu!

Você enviou os arquivos .frx e .frm alusivos ao formulário. Isso não adianta nada. Compacte seu arquivo Excel completo e anexe o mesmo aqui.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/12/2013 1:12 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A maneira de tabulação dos dados em seu formulário é linear, cada "valor" digitado/selecionado é salvo em uma linha da coluna A, isso para mim é um pouco estranho.
Mas seguindo esse modo, veja se está em linha com o que espera.

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

 
Postado : 04/12/2013 2:02 pm
(@joao0212)
Posts: 28
Eminent Member
Topic starter
 

A maneira de tabulação dos dados em seu formulário é linear, cada "valor" digitado/selecionado é salvo em uma linha da coluna A, isso para mim é um pouco estranho.
Mas seguindo esse modo, veja se está em linha com o que espera.

Reinaldo ...
Acabei fazendo um código parecido com esse teu e atendeu minha demanda.
Muito obrigado pela paciência e desculpa alguns erros bestas, mas como eu disse, sou novo nesse mundo.
Creio que com isso, meu formulário está fechado, mas se precisar de algo, volto a postar!!
Mais uma vez, obrigado!!

 
Postado : 04/12/2013 2:19 pm