Página 1 de 1
LISTBOX E FORMULARIOS
Enviado: Qui Mai 23, 2019 9:14 pm
por Fernando Batista
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
Re: LISTBOX E FORMULARIOS
Enviado: Sex Mai 24, 2019 9:59 am
por Reinaldo
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
Re: LISTBOX E FORMULARIOS
Enviado: Sáb Mai 25, 2019 6:34 am
por Fernando Batista
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
Re: LISTBOX E FORMULARIOS
Enviado: Sáb Mai 25, 2019 6:40 pm
por Reinaldo
Pois é, dificil tentar propor algo tentando imaginar o que vem de onde e como.
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
Mas assim nem via bola de cirstal.
Espero que alguem tenha entendido melhor e possa auxilia-lo
Re: LISTBOX E FORMULARIOS
Enviado: Seg Mai 27, 2019 8:20 pm
por Fernando Batista
Mais uma vez muito obrigado... vou tentar fazer depois te falo...
Re: LISTBOX E FORMULARIOS
Enviado: Seg Jun 03, 2019 3:35 pm
por Fernando Batista
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
Re: LISTBOX E FORMULARIOS
Enviado: Seg Jun 03, 2019 6:09 pm
por Reinaldo
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:
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
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.
Re: LISTBOX E FORMULARIOS
Enviado: Qui Jun 13, 2019 10:54 am
por Fernando Batista
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