Notifications
Clear all

Códigos entre userform's

12 Posts
4 Usuários
0 Reactions
2,172 Visualizações
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Prezados, bom dia! 23/07/2014 08:31

O meu projeto, antes de realizar um cadastro de programações de pagamento, utilizando a userform1, verifica várias questões, do tipo:

if TxtboxData.text = "" then

msgbox "Por favor, descreva a data desta programação!", vbinformation, "Atenção!"

exit sub

end if

O porém é que, dentre estas verificações, existe uma que abre outra Userform para análise, a qual possui vários OptionButton1 para que o usuário faça a escolha do que fazer.

Até ai tudo bem, mas a minha dificuldade esta no OptionButton1 que diz:

* Desejo continuar mesmo assim!

O meu desejo é que, ao selecioná-lo, ele dê continuidade no cadastro, mas para isso, acho que seja necessário fazer algo do tipo:

if OptionButton1.value = true then

call cadastrar userform1

end if

Ou seja, quero dar continuidade no código de cadastro presente na userform1.

Como faço?

 
Postado : 23/07/2014 5:43 am
(@jfalianca)
Posts: 3
New Member
 

Olá Lorenzo, tudo bem?

Você precisa renomear as propriedades dos botões e ao escrever a codificação especificar qual formulário e planilha em que este esterá vinculado.

Na variável "opção do botão 1" coloque outra opção se for falso.

 
Postado : 24/07/2014 5:52 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Olá, boa noite!

Desculpa-me, mas não compreendi a sua explicação.

Reforço a minha necessidade:

As vezes fico com duas userform's abertas, uma funcionando como pop up. Eu quero que, através desta ''pop up'' eu execute um código existente na userform1.

Como faço?

Tem como descrever um código modelo?

 
Postado : 24/07/2014 6:19 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

no formulário desejado "chame" a rotina especificando o nome do formulário proprietário.
seria algo como: frmSeuFormulario.nomedarotina.

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

 
Postado : 25/07/2014 6:54 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Reinaldo,

Ja tentei de todos os jeitos, mal não obtive êxito.

 
Postado : 20/08/2014 1:46 pm
victorsam
(@victorsam)
Posts: 110
Estimable Member
 

Aqui vai umas dicas

If Me.OptionButton1.Value = True Then
'aqui continua
Unload Me 'fecha o userform
Else
'aqui faz a função do OptionButton2
End If

Poderia tbm Optar por:

Dim resposta As String
  resposta = MsgBox("Deseja Continuar?", vbYesNo, "Opção")  'vbExclamation  'mensagem para ação será executada
If resposta = vbYes Then
'aqui o que você quiser que aconteça se clicar em sim
End If

Tentar não é saber, é ter a certeza que vai descobrir

Dicas excel, vba, Access http://vbaedit.blogspot.com.br/

 
Postado : 21/08/2014 6:49 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Victor,

Esses exemplos, bons por sinal, são bons, eu até os tenho.

Porém não é isso que preciso. A minha necessidade é de, ao fechar a userform1, atráves do Me.Hide, a userform2 execute um determinado código que ela possui.

Deduzo que seria algo assim:

Private Sub fecharUserform1_Click()

Call userform2.codigoaserexecutado

Me.Hide

End Sub

 
Postado : 22/08/2014 2:56 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu acho que você está complicando a cada postagem:

1°) Temos "userform1, verifica várias questões", tipo:
if TxtboxData.text = "" then
msgbox "Por favor, descreva a data desta programação!", vbinformation, "Atenção!"
exit sub
end if

2° "dentre estas verificações, existe uma que abre outra Userform para análise, a qual possui vários OptionButton1 para que o usuário faça a escolha do que fazer":

3°) "minha dificuldade esta no OptionButton1"..."meu desejo é que, ao selecioná-lo, ele dê continuidade no cadastro"
Se o cadastro começou no UserForm1 e ele não é fechado quando abre o UserForm2, ao selecionar o "OptionButton1" do UserForm2, o mesmo tem de fechar e voltar ao UserForm1.
Assim a primeira dica do victorsam está correta, só proecisa ajustar comm a dica do Reinaldo para armazenar o Valor do OptioButton.

Mas depois você diz:
"Porém não é isso que preciso. A minha necessidade é de, ao fechar a userform1, atráves do Me.Hide, a userform2 execute um determinado código que ela possui", Não entendi...

E tambem a Propriedade Hide não fechao formulário, sómente oculta o mesmo deixando aberto mas invisivel.

Detalhe melhor o passo a passo do que pretende, procure fazer tipo um organograma para definir as sequencias das ações parapoder ajustar às programações.

[]s

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

 
Postado : 22/08/2014 4:43 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Eu preciso chamar um código da userform2, através da userform1.

 
Postado : 25/08/2014 5:37 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Ola,

Veja se seria isso?

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

 
Postado : 25/08/2014 6:37 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu preciso chamar um código da userform2, através da userform1

No UserForm1 você deve ter a rotina que chama o UserForm2, então no UserForm2 coloque as linhas abaixo:

Private Sub UserForm_Initialize()

    Call SuaMacroUserForm2
    
End Sub


Sub SuaMacroUserForm2()

    MsgBox "Executando Rotina do UserForm2"
    
End Sub

Quando o UserForm2 abrir será executada a rotina que está no Form2.

[]s

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

 
Postado : 25/08/2014 7:08 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

obrigado!

 
Postado : 25/08/2014 7:10 am