Jump to content
Fórum Script Brasil
  • 0

Ajuda com Vba excel pesquisa de valores


luizmarcon

Question

Galera, bom dia.

Minha dúvida é a seguinte, tenho uma aba da planilha chamada "Dados", onde tenho colunas "Cód", "Correspondente", e "Comarca".

Fiz um formulário para preencher em outra aba"Solicitações", que carrego o cód em uma combobox, e que ao selecionar este código ele me traga o nome do correspondente e a comarca referente a este código.

Como posso fazer isso em vba?

Fico no aguardo.

Desde já meu muito obrigado!!!

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

Boa noite!!

Sugiro que poste um exemplo em site gratuito (4Shered), e nos mande o link, para te ajudar.

Se entendi bem terá que usar a função PROCV via VBA.

Segue exemplo fictício.

[b2].Value = Application.WorksheetFunction.VLookup([A2].Value, [J2:K11], 2, 0)

Att..

Link to comment
Share on other sites

  • 0
Boa noite!!

Sugiro que poste um exemplo em site gratuito (4Shered), e nos mande o link, para te ajudar.

Se entendi bem terá que usar a função PROCV via VBA.

Segue exemplo fictício.

[b2].Value = Application.WorksheetFunction.VLookup([A2].Value, [J2:K11], 2, 0)

Att..

Zinho, quando chegar em casa disponibilizo a planilha pra vocês, estou no trabalho e o 4shared é bloqueado.

Mais aproveitando sua resposta temos a dificuldade de que esse valor seria carregada na textbox do formulario e não na planilha, esta formula já faz isso?

Muito obrigado pela respsota.

Em tempo segue link pra download http://www.4shared.com/document/LUZu9QZK/C...spondentes.html?

Edited by luizmarcon
Link to comment
Share on other sites

  • 0

Boa noite!!

Segue como solicitado..Baixe o arquivo e creio que seu problema estará solucionado!!!!

O que fiz foi como segue abaixo....................

Private Sub ComboBox_cod_Change()

On Error Resume Next

TextBox_correspondente = Application.WorksheetFunction.VLookup(CDbl(ComboBox_cod), Plan1.Range("A1:E1000"), 2, 0)

TextBox_comarca = Application.WorksheetFunction.VLookup(CDbl(ComboBox_cod), Plan1.Range("A1:E1000"), 5, 0)

End Sub

http://www.4shared.com/document/oeAhacGv/C...spondentes.html

Att..

Link to comment
Share on other sites

  • 0

p**** zinho, brigadao mesmo cara, era isso que precisava, quebrei mt a cabeça mais n saia nada.

Vou abusar um pouco...

Ali eu tenho duas datas prazo fatal e prazo final, eu queria q ao informar o prazo fatal aparecesse no prazo final, essa data - 3 dias...

exemplo:

Prazo Fatal: 25/08/2011 e aparecesse no Prazo Final 22/08/2011

Tentei de tudo que é jeito mais nada ainda.

De qualquer formar agradeço seu auxilio zinho.

Link to comment
Share on other sites

  • 0

Boa noite!!

´

Fiz um teste com o anexo de me passou e deu certo...

Acrescentei isso na sua TextBox_prazo_fin...

If Me.TextBox_prazo_fatal <> "" Then

Me.TextBox_prazo_fin = CDate(Me.TextBox_prazo_fatal.Value) - 3

Me.TextBox_prazo_fin = Format(Me.TextBox_prazo_fin, "mm/dd/yyyy")

Else

Me.TextBox_prazo_fatal = ""

End If

At....

Edited by zinhovba
Link to comment
Share on other sites

  • 0
Boa noite!!

´

Fiz um teste com o anexo de me passou e deu certo...

Acrescentei isso na sua TextBox_prazo_fin...

If Me.TextBox_prazo_fatal <> "" Then

Me.TextBox_prazo_fin = CDate(Me.TextBox_prazo_fatal.Value) - 3

Me.TextBox_prazo_fin = Format(Me.TextBox_prazo_fin, "mm/dd/yyyy")

Else

Me.TextBox_prazo_fatal = ""

End If

At....

Zinho, brigado pelo retorno meu caro.

Mas o seguinte,quando executo o formulario e preencho a data nada se altera, no prazo final, agora, se eu ir no script linha por linha executando o codigo apertando F8 a data surge a alteração..

Segue o código:

Private Sub TextBox_prazo_fatal_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    If Len(TextBox_prazo_fatal) = 2 Or Len(TextBox_prazo_fatal) = 5 Then
    
        TextBox_prazo_fatal.Text = TextBox_prazo_fatal.Text & "/"
        
        SendKeys "{End}", True
    End If
            If Len(TextBox_prazo_fatal) = 10 And CheckBox_prazo_urg.Value = True Then
                TextBox_prazo_fin.SetFocus
            End If
            
            If Len(TextBox_prazo_fatal) = 10 And CheckBox_prazo_urg.Value = False Then
                Me.TextBox_prazo_fin = CDate(Me.TextBox_prazo_fatal.Value) - 3
                Me.TextBox_prazo_fin = Format(Me.TextBox_prazo_fin, "dd/mm/yyyy")
                TextBox_valor.SetFocus
            End If
                    
End Sub

Link to comment
Share on other sites

  • 0

Boa noite!!

A rotina que te passei seria bom que estivesse nas primeiras linhas.

Quando for digitar Prazo Fatal de "Espaço"......a final você está usando "Private Sub TextBox_prazo_fatal_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)"

Obs: Você tem em seu formulário um botão de opção de acordo com seu código o mesmo deve está flegado.

Att..

Link to comment
Share on other sites

  • 0

Boa noite!!

A rotina que te passei seria bom que estivesse nas primeiras linhas.

Quando for digitar Prazo Fatal de "Espaço"......a final você está usando "Private Sub TextBox_prazo_fatal_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)"

Obs: Você tem em seu formulário um botão de opção de acordo com seu código o mesmo deve está flegado.

Att..

Link to comment
Share on other sites

  • 0

Boa noite!!

Na UseForm-"CAdastro de Solcitação", você tem uma CheckBox "Prazo final?".

há uma rotina ...onde a TextBox_prazo_fin, é desabilitada caso não esteja marcado.

Se usei a Txt certa então tem que digitar a data na txt prazo fatal> clicar na Checkbox> e apertar a tecla ESPAÇO.

Bem mais em baixo segue seu arquivo testado.

Private Sub CheckBox_prazo_urg_Click()

If CheckBox_prazo_urg.Value = True Then

TextBox_prazo_fin.Enabled = True

Else

TextBox_prazo_fin.Enabled = False

End If

End Sub

Segue...

http://www.4shared.com/document/-Di_GfPn/C...spondentes.html

Link to comment
Share on other sites

  • 0

Boa noite!!

Na UseForm-"CAdastro de Solcitação", você tem uma CheckBox "Prazo final?".

há uma rotina ...onde a TextBox_prazo_fin, é desabilitada caso não esteja marcado.

Se usei a Txt certa então tem que digitar a data na txt prazo fatal> clicar na Checkbox> e apertar a tecla ESPAÇO.

Bem mais em baixo segue seu arquivo testado.

Private Sub CheckBox_prazo_urg_Click()

If CheckBox_prazo_urg.Value = True Then

TextBox_prazo_fin.Enabled = True

Else

TextBox_prazo_fin.Enabled = False

End If

End Sub

Segue...

http://www.4shared.com/document/-Di_GfPn/C...spondentes.html

Link to comment
Share on other sites

  • 0

Zinho, estes campos de data funcionam da seguinte forma.

Eu preencho o prazo fatal e o procedimento normal é que o prazo final seja 3 dias antes do prazo fatal, por isso a conta(prazo fatal - 3)

Porém temos alguns eventos em que o prazo é urgente e o prazo final acaba sendo diferente... por este motivo é que temos o botão de seleção.

Sendo assim, resumindo.

Se o botão de seleção não estiver selecionado:

Prazo final recebe prazo fatal - 3.....

Ou se o botão estiver selecionado

ele habilita o campo pra edição...

Do jeto que você me mandou, se o botao não estiver selecionado ele não faz nada, porém só faz se o botão estiver.

Desculpa ficar abusando assim, mas é que já estou fazendo isso a mt tempo, e aqui foi umn dos poucos lugares onde tive ajuda.

De qualquer forma obrigado zinho.

Link to comment
Share on other sites

  • 0

Boa noite!!

Por mim não haverá problemas em te ajuda, apesar de saber pouco de VBA Excel, se eu poder o farei.

Mas, você tem que tentar entender sua programação, neste caso você desenvolveu uma condição na CheckBox, capaz de se [Prazo Urgente, for verdadeiro então, o Prazo Final será habilitado, caso contrario não será habilitado].

Vou te mandar meu MSN, e dois das 19:00 chego do trabalho.

AQUINOCHESS@HOTMAIL.COM

Att..

Link to comment
Share on other sites

  • 0

Boa noite!!

Por mim não haverá problemas em te ajuda, apesar de saber pouco de VBA Excel, se eu poder o farei.

Mas, você tem que tentar entender sua programação, neste caso você desenvolveu uma condição na CheckBox, capaz de se [Prazo Urgente, for verdadeiro então, o Prazo Final será habilitado, caso contrario não será habilitado].

Vou te mandar meu MSN, e dois das 19:00 chego do trabalho.

AQUINOCHESS@HOTMAIL.COM

Att..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...