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

Dados em Userforms diferentes

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
anndrisi
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sex Nov 07, 2014 11:41 pm

Dados em Userforms diferentes

Mensagem por anndrisi »

Bom Dia
Estou desenvolvendo um simulador para utilzar com os meus alunos no treinamento que aplico aqui na empresa onde trabalho ,porém tenho 2 duvidas:
1°Duvida
No meu simulador quando digito um cpf no TextBox1 os dados da planilha preenchem automaticamente e corretamente na userform 1 e preciso fazer o mesmo com a userform2 utilizando a mesma planilha do excel ,ai que esta minha duvida eu não consigo carregar as informações do textbox1 na userform2,até criei uma textbox2 que tambem carrega automaticamente o cpf digitados na textbox1 , mais da mesma forma não preenche o userform2 ,gostaria muito que alguem me ajudasse com este problema ,tem como usar uma planilha de excel para dois userform simultanemente ,quando eu digitar o cpf na textbox1 as informações da planilha carregar automaticamente não so na userform1 mais na userform2 tambem?
As informações principais no simulador aparecem na userform 1 e para verificar as informações da userform2 ,digite o cpf no textbox da userform1 depois vá para aba Operações depois na Guia Emprestimos(EM) e de um duplo click em contrato automaticamente ira aparecer a userform2 e é ai onde não consigo carregar as informações.
2° Duvida
Quando digito o cpf no textbox apos atualizar na multipage as abas ficam sobrepostas uma sobre a outra e voltam ao normal apenas quando se clica uma por uma ,poderiam me ajudar a descobrir uma solução para este problema ,de fato não sei se sobrecarreguei o simulador com muitas informações mais acredito que devido o VBA ser dinamico não tenha problema de sobrecarga de informações ,realmente não sei porque ficam sobrepostas.
Os numeros de cpf ficticios que criei para carregar os dados estao na planilha1 nas colunas w25 ate w29 .
Desde ja agradeço a ajuda .
Anexos
Cópia de Projeto aula.zip
Projeto simulador
(831.95 KiB) Baixado 218 vezes


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
skuma
Colaborador
Colaborador
Mensagens: 25
Registrado em: Qui Mai 02, 2013 2:03 pm

Re: Dados em Userforms diferentes

Mensagem por skuma »

Caro amigo, se eu entendi bem você precisa que ao digitar o CPF no UserForm1 (campo TextBox1) ele preencha também o UserForm2 (campo TextBox2).

No seu caso o que você pode fazer é criar um módulo e declarar um variavel pública

Código: Selecionar todos

Public strCPF As String
Feito isso, você troca o código UserForm2.TextBox2 = UserForm1.TextBox1 por:

Código: Selecionar todos

strCPF = UserForm1.TextBox
Após, você adiciona no final para abrir o UserForm2 e seu código vai ficar mais ou menos assim:

Código: Selecionar todos

Private Sub TextBox1_AfterUpdate()

'ADICIONA ESTE PARA COLOCAR O CPF NA VARIAVEL
strCPF = UserForm1.TextBox1

Call Atualizar

If TextBox1.Text = Plan1.Range("W25") Or TextBox1.Text = Plan1.Range("W26") Or _
TextBox1.Text = Plan1.Range("W27") Or TextBox1.Text = Plan1.Range("W28") Or TextBox1.Text = Plan1.Range("W29") Then

Application.Visible = True

'ADICIONA ESTE PARA ABRIR O USERFORM2
UserForm2.Show

Else
MsgBox "Não consta emprestimo cadastrado para  este cliente", vbCritical, "sem cadastro"
End If
End Sub
Agora dentro do Initialize do seu UserForm2, você adiciona o código para atribuir o valor do strCPF no TextBox2, ficando mais ou menos assim:

Código: Selecionar todos

Private Sub UserForm_Initialize()
    
    UserForm2.TextBox2 = strCPF
    strCPF = ""
        
End Sub
Acho que com isso já da pra você ter um base e ir ajustando seu código. Sobre a segunda dúvida ainda estou tentando entender.
Abraços,


anndrisi
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sex Nov 07, 2014 11:41 pm

Re: Dados em Userforms diferentes

Mensagem por anndrisi »

Ola amigo agradeço muito por me ajudar ,e peço desculpa pois não ainda estou engatinhando com VBA,entendi a sua orientação ,porém ja tentei criar o modulo que voce me indicou,porém sempre da erro sei que ja me ajudou muito mais poderia me ajudar mais uma vez como criar este modulo para declarar a variavel publica ?

strCPF As String

Desde ja agradeço mais uma vez pela ajuda


Avatar do usuário
skuma
Colaborador
Colaborador
Mensagens: 25
Registrado em: Qui Mai 02, 2013 2:03 pm

Re: Dados em Userforms diferentes

Mensagem por skuma »

Amigo, desculpa a demora, fiquei sem acessar o fórum alguns dias.

Para inserir um módulo, você vai na barra de ferramentas clica em 'Inserir > Módulo', após criado o módulo você coloca o código que te passei para desclarar a varíavel pública Public strCPF As String


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