Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
LISTBOX E FORMULARIOS
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Qui Mai 23, 2019 8:49 pm
LISTBOX E FORMULARIOS
BOA NOITE A TODOS...SOU INICIANTE EM VBA... TENHO UMA PLANILHA DE PACIENTES
NOME PLANO CARTAO , E UMA UMA LISTA DE PESQUISA COM UM TEXTBOX E UM LIST BOX.
QUANDO PESQUISO POR NOME VEM...
NOME PLANO CARTÃO
BENEDITO ANT SSB 24584
BENEDITO LUI SSB 24584
BENEDITO MAR CCX 54871
BENEDITO RUI BBC 54784
BEM ATE AI TUDO CERTO...
OQUE EU QUERIA É QUE QUANDO EU DESSE 2 CLIQUES NO NOME QUE EU ESCOLHESSE ABRIRIA O FORM DE ACORDO COM A COLUNA 2.
OU SEJA PARA CADA PLANO EU TENHO UM FORM POIS A FOLHA DE PEDIDO DE EXAMES NAO SÃO IGUAIS.
POR EXEMPLO: SE EU CLICAR NO BENEDITO MAR ELE ABRIRA O FORM_CCX.... E SE EU CLICAR NO BENEDITO ANT ABRIRA O FORM_SSB..
AGRADEÇO A AJUDA
NOME PLANO CARTAO , E UMA UMA LISTA DE PESQUISA COM UM TEXTBOX E UM LIST BOX.
QUANDO PESQUISO POR NOME VEM...
NOME PLANO CARTÃO
BENEDITO ANT SSB 24584
BENEDITO LUI SSB 24584
BENEDITO MAR CCX 54871
BENEDITO RUI BBC 54784
BEM ATE AI TUDO CERTO...
OQUE EU QUERIA É QUE QUANDO EU DESSE 2 CLIQUES NO NOME QUE EU ESCOLHESSE ABRIRIA O FORM DE ACORDO COM A COLUNA 2.
OU SEJA PARA CADA PLANO EU TENHO UM FORM POIS A FOLHA DE PEDIDO DE EXAMES NAO SÃO IGUAIS.
POR EXEMPLO: SE EU CLICAR NO BENEDITO MAR ELE ABRIRA O FORM_CCX.... E SE EU CLICAR NO BENEDITO ANT ABRIRA O FORM_SSB..
AGRADEÇO A AJUDA
Editado pela última vez por Fernando Batista em Sáb Mai 25, 2019 6:22 am, em um total de 1 vez.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: LISTBOX E FORMULARIOS
Assim e dificil, pois não se pode testar (por razoes obvias), não se sabe nomes/tipos de campos retorno etc...
Experimente no evento clique ou duplo clique incluir um If
Algo como:--> If seuCampo.valor="valor" then seuformulario.show
Experimente no evento clique ou duplo clique incluir um If
Algo como:--> If seuCampo.valor="valor" then seuformulario.show
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Qui Mai 23, 2019 8:49 pm
Re: LISTBOX E FORMULARIOS
Obrigado agradeço muito ter respondido, mas é por ai mesmo.. é essa condição "if" que falta... so que eu não sei colocar na sintaxe
Vou explicar melhor. Na Plan1 eu tenho no cabeçalho Nome - Plano - Cartão...
Tenho um Form de Pesquisa_nome que me retorna o nome do paciente. O que eu quero é que quando o nome deste paciente for selecionando pelo curso ele é enviado ao Form de acordo com o plano de exemplo;
Nome: Benedito Alves ///Plano: SSB ///Cartao: 25455 = O Plano esta na segunda coluna do ListBox>
Seria como o exemplo abaixo:
Se coluna 2 for igual a condição 1 (SSB) então abra o FormSSB/// Se a coluna 2 for igual a Condição 2 (CCX) então abra o FormCCX.... e assim por diante
so que eu naõ sei colocar>
If condição Then
[ instruções ]
[ ElseIf condição-n Then
[ instruçõeselseif ]]
[ Else
[ instruçõeselse ]]
End If
Vou explicar melhor. Na Plan1 eu tenho no cabeçalho Nome - Plano - Cartão...
Tenho um Form de Pesquisa_nome que me retorna o nome do paciente. O que eu quero é que quando o nome deste paciente for selecionando pelo curso ele é enviado ao Form de acordo com o plano de exemplo;
Nome: Benedito Alves ///Plano: SSB ///Cartao: 25455 = O Plano esta na segunda coluna do ListBox>
Seria como o exemplo abaixo:
Se coluna 2 for igual a condição 1 (SSB) então abra o FormSSB/// Se a coluna 2 for igual a Condição 2 (CCX) então abra o FormCCX.... e assim por diante
so que eu naõ sei colocar>
If condição Then
[ instruções ]
[ ElseIf condição-n Then
[ instruçõeselseif ]]
[ Else
[ instruçõeselse ]]
End If
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: LISTBOX E FORMULARIOS
Pois é, dificil tentar propor algo tentando imaginar o que vem de onde e como.
A sintaxe seria
Mas assim nem via bola de cirstal.
Espero que alguem tenha entendido melhor e possa auxilia-lo
A sintaxe seria
Código: Selecionar todos
If seuCampo.valor = "valor1" Then
seu.formulario.nome.Show
'blablabla
ElseIf seuCampo.valor = "valor2" Then
seu.outroformulario.nome.Show
'blablabla
Else
'blablabla
'.....
End If
Espero que alguem tenha entendido melhor e possa auxilia-lo
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Qui Mai 23, 2019 8:49 pm
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Qui Mai 23, 2019 8:49 pm
Re: LISTBOX E FORMULARIOS
REINALDO MUITO OBRIGADO PELA CODIGO.. EU FIZ ESSE ESTA FUNCIONANDO;
SO TEM UM PROBLEMA NÃO CONSIGO COLOCAR O SETFOCUS NO TXTEXAME1.SETFOCUS....
ELE IMPRIME 2 VEZES... NÃO SEI OQUE ESTA ERRADO. E NEM ONDE COLOCAR
Private Sub Txtobservacao_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("IAMSPETP").Range("Q25").Value = Txtobservacao.Value
Sheets("SANTA").Range("Q25").Value = Txtobservacao.Value
Dim vS As String
Dim vI As String
Dim Vc As String
Dim Vf As String
vS = "SANTA CASA"
vI = "IAMSPE"
Vc = "CABESP"
Vf = ""
If Me.Txtnomeplano.Value = "SANTA CASA" Then
'SANTA.Select
Me.Hide
'SANTA.PrintPreview
SANTA.PrintOut
Range("b1:y45").Select
'ActiveSheet.PrintOut
'Txtexame1.SetFocus
ElseIf Me.Txtnomeplano.Value = "IAMSPE" Then
' 'IAMSPETP.Select
Me.Hide
'IAMSPETP.PrintPreview
IAMSPETP.PrintOut
Range("b1:z44").Select
ElseIf Me.Txtnomeplano.Value = "CABESP" Then
'Vc = "CABESP"
'CABESP.Select
Me.Hide
'CABESP.PrintPreview
CABESP.PrintOut
Range("b1:AD71").Select
Else
'If Me.Txtnomeplano.Value = "" Then
MsgBox "Impresso não encontrado!!!", vbExclamation, "Formulário"
End If
Me.Txtexame1.Value = ""
Me.Txtexame2.Value = ""
Me.Txtexame3.Value = ""
Me.Txtexame4.Value = ""
Me.Txtexame5.Value = ""
Me.Txtobservacao.Value = ""
Me.Show
TXTEXAME1.SETFOCUS
End Sub
SO TEM UM PROBLEMA NÃO CONSIGO COLOCAR O SETFOCUS NO TXTEXAME1.SETFOCUS....
ELE IMPRIME 2 VEZES... NÃO SEI OQUE ESTA ERRADO. E NEM ONDE COLOCAR
Private Sub Txtobservacao_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("IAMSPETP").Range("Q25").Value = Txtobservacao.Value
Sheets("SANTA").Range("Q25").Value = Txtobservacao.Value
Dim vS As String
Dim vI As String
Dim Vc As String
Dim Vf As String
vS = "SANTA CASA"
vI = "IAMSPE"
Vc = "CABESP"
Vf = ""
If Me.Txtnomeplano.Value = "SANTA CASA" Then
'SANTA.Select
Me.Hide
'SANTA.PrintPreview
SANTA.PrintOut
Range("b1:y45").Select
'ActiveSheet.PrintOut
'Txtexame1.SetFocus
ElseIf Me.Txtnomeplano.Value = "IAMSPE" Then
' 'IAMSPETP.Select
Me.Hide
'IAMSPETP.PrintPreview
IAMSPETP.PrintOut
Range("b1:z44").Select
ElseIf Me.Txtnomeplano.Value = "CABESP" Then
'Vc = "CABESP"
'CABESP.Select
Me.Hide
'CABESP.PrintPreview
CABESP.PrintOut
Range("b1:AD71").Select
Else
'If Me.Txtnomeplano.Value = "" Then
MsgBox "Impresso não encontrado!!!", vbExclamation, "Formulário"
End If
Me.Txtexame1.Value = ""
Me.Txtexame2.Value = ""
Me.Txtexame3.Value = ""
Me.Txtexame4.Value = ""
Me.Txtexame5.Value = ""
Me.Txtobservacao.Value = ""
Me.Show
TXTEXAME1.SETFOCUS
End Sub
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: LISTBOX E FORMULARIOS
O setfocus, dependendo da estrutura de seu formulário, não efetua o que se é esperado. São varios fatores que poderão influenciar, e já vi casos de não foi obtido sucesso. experimente utilizar o repaint:
Quanto a imprimir 2x, nada na rotina que justifique; porem não sou favorável a disparar uma rotina assim a partir de um evento de tipo o que está utilizando, pois sempre que "passar" por esse controle irá disparar essa situação.
Código: Selecionar todos
Private Sub Txtobservacao_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("IAMSPETP").Range("Q25").Value = Txtobservacao.Value
Sheets("SANTA").Range("Q25").Value = Txtobservacao.Value
If Me.Txtnomeplano.Value = "SANTA CASA" Then
Me.Hide
SANTA.PrintOut
Range("b1:y45").Select
ElseIf Me.Txtnomeplano.Value = "IAMSPE" Then
Me.Hide
IAMSPETP.PrintOut
Range("b1:z44").Select
ElseIf Me.Txtnomeplano.Value = "CABESP" Then
Me.Hide
CABESP.PrintOut
Range("b1:AD71").Select
Else
MsgBox "Impresso não encontrado!!!", vbExclamation, "Formulário"
End If
Me.TXTEXAME1.Value = ""
Me.Txtexame2.Value = ""
Me.Txtexame3.Value = ""
Me.Txtexame4.Value = ""
Me.Txtexame5.Value = ""
Me.Txtobservacao.Value = ""
Me.Show
Me.repaint
TXTEXAME1.SetFocus
End Sub
-
- Acabou de chegar
- Mensagens: 5
- Registrado em: Qui Mai 23, 2019 8:49 pm
Re: LISTBOX E FORMULARIOS
BOM DIA.. REINALDO.... TODO O SISTEMA ESTA RODANDO BELEZINHA.... GRAÇAS A SUA EXPLICAÇÃO...
MAS O ENGRAÇADO É QUE ESTE SETFOCUS QUANDO VAI NA TXTBOX ELE DE INICIO ELE APARECE MAS DEPOIS SOME... ESTRANHO
MAS O ENGRAÇADO É QUE ESTE SETFOCUS QUANDO VAI NA TXTBOX ELE DE INICIO ELE APARECE MAS DEPOIS SOME... ESTRANHO