Notifications
Clear all

Userform1 exibindo dados de outras userforms existentes

9 Posts
4 Usuários
0 Reactions
2,001 Visualizações
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Prezados, bom dia!

Por favor, será que alguém poderia esclarecer uma dúvida?
existe a possibilidade de exibir dados de uma userform em outra userform?

Exemplo:

eu tenho a userform 1 (essa tela será a principal), e vou ter alguns botões, quando eu clicar no botão "exibir dados", ao invés de realizar o comando

unload me

para fechar a user1 e depois

userform2.show

para exibir a user2, as informações serão exibidas na mesma tela.

Seria o mesmo que criar hiperlink entre planilhas, porém será hiperlink entre forms

em anexo segue uma imagem para melhor entendimento.

Desde já agradeço pela atenção de todos.

muito obrigado!

 
Postado : 26/03/2018 8:51 am
(@klarc28)
Posts: 971
Prominent Member
 

Não dá para entender. Envie o anexo com os controles e dados.

 
Postado : 26/03/2018 10:47 am
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Bom dia!

Em anexo, segue a planilha contendo o exemplo.

minha ideia é exibir a tela do form2, na mesma tela do form1 (sem precisar usar os comandos

unload me

para fechar o form1 e depois o

userform2.show

para exibir a tela do form2), seria o mesmo que criar hiperlink entre planilhas, porém fazer isso para forms.

Muito obrigado a todos pela atenção.

 
Postado : 27/03/2018 4:52 am
(@lustosag)
Posts: 39
Eminent Member
 

Bom dia.. Veja se atende sua necessidade..
Fiz isso apenas mudando as propriedades left e top da form até encaixar, quando a form1 chama a form2, a form2 entra em prioridade e nao deixa mexer mais na form1, para mudar isso apenas adicione vbModeless na frente do codigo que chama a form.. por exemplo: adicione em ambos os codigos que chamam as forms...

form1.show vbModeless

Isso vai deixar o form "Solto" e vai poder clicar tanto na form 1 quanto na form 2, porém cuidado.. ao clicar na form 1, ela vai se sobrepor sobre a 2, enfim, se não quiser utilizar a form 1 enquanto a form2 esteja aberta, esqueça vbModeless =)

Espero que tenha ajudado :D

 
Postado : 27/03/2018 6:21 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

JNEXCEL

Ao invés de descarregar o UserForm, apenas oculte-o antes de exibir o outro. Exemplo, no botão do UserForm1:

Private Sub CommandButton1_Click()
  Me.Hide
  UserForm2.Show
End Sub

 
Postado : 27/03/2018 8:13 am
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Agradeço a todos pela atenção.

Porém eu gostaria de deixar o form1 aparecendo e quando eu clicar no botão dados do form2, ele vai aparecer no mesmo form1 (sem minimizar ou fechar o form1).

Em anexo, segue a tela contendo o que eu gostaria.

Muito obrigado a todos. ;) ;) ;)

 
Postado : 27/03/2018 9:49 am
(@lustosag)
Posts: 39
Eminent Member
 

Então é igual o exemplo que eu lhe mandei, porém pegar apenas os dados e colocar ali? ao invés de só mostrar a form aberta ali ?

 
Postado : 27/03/2018 9:53 am
(@lustosag)
Posts: 39
Eminent Member
 

Se for isso: segue em anexo o que deseja..

:D

 
Postado : 27/03/2018 9:59 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Porém eu gostaria de deixar o form1 aparecendo e quando eu clicar no botão dados do form2, ele vai aparecer no mesmo form1 (sem minimizar ou fechar o form1).

Nesse caso o UserForm2 seria até mesmo dispensável... Então pq. não aproveitar e inserir os controles do UF2 no Frame que já está no UF1 e tornar esse Frame Visível/Invisível?

  • Abra o UserForm2, copie ou recorte todos os Labels que devem aparecer no UserForm1[/*:m:303uy0pf]
  • Abra o UserForm1 e selecione o Frame1 e, mantendo ele selecionado, cole os Labels para dentro do Frame1[/*:m:303uy0pf]
  • Selecione o Frame1 (não os controles dentro dele) e altere a propriedade Visible dele para False[/*:m:303uy0pf]
  • No botão de comando (ou num Toggle Button), se quiser que ao clicar alterne entre exibir/ocultar:
  • Private Sub CommandButton1_Click()
      Me.Frame1.Visible = Not Me.Frame1.Visible
    End Sub
    

    [/*:m:303uy0pf][/list:u:303uy0pf]

    Obs.: Em relação à sua pergunta original, um UserForm não pode ser "inserido" (incorporado) dentro de outro. Também não pode ser inserido na camada de desenho da planilha como outros controles podem. Ele é apenas um Container para outros controles.

     
Postado : 27/03/2018 11:36 am