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

LISTBOX E FORMULARIOS

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Fernando Batista
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Qui Mai 23, 2019 8:49 pm

LISTBOX E FORMULARIOS

Mensagem 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
Editado pela última vez por Fernando Batista em Sáb Mai 25, 2019 6:22 am, em um total de 1 vez.


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
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX E FORMULARIOS

Mensagem 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


Fernando Batista
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Qui Mai 23, 2019 8:49 pm

Re: LISTBOX E FORMULARIOS

Mensagem 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


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX E FORMULARIOS

Mensagem 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


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.


Fernando Batista
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Qui Mai 23, 2019 8:49 pm

Re: LISTBOX E FORMULARIOS

Mensagem por Fernando Batista »

Mais uma vez muito obrigado... vou tentar fazer depois te falo...


Fernando Batista
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Qui Mai 23, 2019 8:49 pm

Re: LISTBOX E FORMULARIOS

Mensagem 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


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: LISTBOX E FORMULARIOS

Mensagem 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.


Fernando Batista
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Qui Mai 23, 2019 8:49 pm

Re: LISTBOX E FORMULARIOS

Mensagem 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


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