Notifications
Clear all

Usar Procv no VBA para achar respectivos valores

13 Posts
2 Usuários
0 Reactions
3,103 Visualizações
(@m_araujo)
Posts: 159
Estimable Member
Topic starter
 

Bom dia pessoal,
alguem ai teria como me ajuda sobre um codigo no vba
seguinte eu tenho alguns campos em um Form no VBA
esses campos são chamados de IMPUREZA , UMIDADE, AVARIADOS
Nesses campos eu digito um valor por exemplo 14,5 em UMIDADE, quero fazer uma busca em uma planilha chamada de CLASSIFICAÇÃO
nela vou varres o CAMPO UMIDADEe acha o GRAU O DESCONTO desse valor digitado ai, segue partes da planilha para ter uma nossão
VLR GRAU_DESCONTO
UMIDADE 14,00 0,00
UMIDADE 14,10 0,50
UMIDADE 14,20 0,70
UMIDADE 14,30 0,90
UMIDADE 14,40 1,00
UMIDADE 14,50 1,15 aqui no caso eu teria um GRAU DE DESCONTO de 1,15% e esse valor seria multiplicado por outro valor
UMIDADE 14,60 1,25
'-------------------------------------------
VLR GRAU_DESCONTO
AVARIADO 8,00 0,00
AVARIADO 8,10 0,10
AVARIADO 8,20 0,20
AVARIADO 8,30 0,30
AVARIADO 8,40 0,40
AVARIADO 8,50 0,50
AVARIADO 8,60 0,60

'----------------------------
VLR GRAU_DESCONTO
IMPUREZA 1,00 0,00
IMPUREZA 1,10 0,10
IMPUREZA 1,20 0,10

Espero que me entende obrigado tenha um bom dia

 
Postado : 04/01/2012 8:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Da pra disponibilizar a planilha?
Fica mais fácil de visualizar.

 
Postado : 04/01/2012 8:10 am
(@m_araujo)
Posts: 159
Estimable Member
Topic starter
 

Sim segue em anexo

 
Postado : 04/01/2012 11:01 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O que eu faria,
na guia classificação faria uma procv em alguma célula oculta, onde o valor recebido seria o valor digitado da textbox, isso já retornaria o valor referente na procv, ai com esse valor da pra vc fazer o restante dos calculo que você precisa,.

Se não conseguir só avisar

 
Postado : 05/01/2012 6:07 am
(@m_araujo)
Posts: 159
Estimable Member
Topic starter
 

O que eu faria,
na guia classificação faria uma procv em alguma célula oculta, onde o valor recebido seria o valor digitado da textbox, isso já retornaria o valor referente na procv, ai com esse valor da pra vc fazer o restante dos calculo que você precisa,.

Se não conseguir só avisar

Opa Caio Boa tarde tudo bem ?
Bom seguinte cara no excel eu uso o procv ja eu so nao consigo e fazer como vc esta me falando pois não sou baum tanto em excel vba não, so no excel eu me garanto agora no vba ja complica sou novo na area poderia me ajudar???
grato pela atenção

 
Postado : 05/01/2012 12:52 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Olha um exemplo...
Em A2 tenho um valor que o código vai procurar na base da coluna "C" até "H" e trazer a 2º coluna...

Sub Procv()

On Error Resume Next
Range("B2").Value = WorksheetFunction.VLookup(Range("A2"), Range("C:H"), 2, False)

End Sub
 
Postado : 05/01/2012 5:19 pm
(@m_araujo)
Posts: 159
Estimable Member
Topic starter
 

Boa noite!!

Olha um exemplo...
Em A2 tenho um valor que o código vai procurar na base da coluna "C" até "H" e trazer a 2º coluna...

Sub Procv()

On Error Resume Next
Range("B2").Value = WorksheetFunction.VLookup(Range("A2"), Range("C:H"), 2, False)

End Sub

Opa Alexandre bom dia tudo bem? cara obrigado por responder minha duvida, so que eu ainda não compreendir bem como faço isso no vba poderia me explicar melho com meu exemplo no topico obrigado

 
Postado : 06/01/2012 8:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!!

Veja na pratica o exemplo que criei...

Baixe o anexo..

 
Postado : 06/01/2012 6:57 pm
(@m_araujo)
Posts: 159
Estimable Member
Topic starter
 

Boa noite!!!

Veja na pratica o exemplo que criei...

Baixe o anexo..

Bom dia Alexandre, Cara obrigado mesmo viu funcionou que uma bleza obrigado mais uma vez
so mais uma coisinha o valor buscado sempre ta ficando redondo tipo digito 17,50 e a busca era pra trazer 5,50 mais ta trazendo 6,0
rs rs mais acho q isso eu consigo resolver se tiver alguma dica fico grato desde ja.

At
Marcelo Araujo

 
Postado : 07/01/2012 6:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Bom testei aqui e buscou normal.

De um valor 12,23 retornou na TextBox o valor de 12,23.

Segue um exemplo ..veja.
Me.TextBox1 = Format(Me.TextBox1, "000.00")

 
Postado : 07/01/2012 2:41 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Em tempo...

No tratamento de números é recomendado a função de conversão CDbl(), visto que a propriedade do TextBox é Text.

 
Postado : 07/01/2012 3:01 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!!

Obrigado JoseA...

..M_araujo..tente ai e retorne.

Segue uma breve explicação...
Fonte http://www.juliobattisti.com.br/excel12 ... icao16.htm

Função CDbl

A função CDbl converte uma variável ou resultado de um expressão, para o subtipo Double. O tipo Doublé é utilizado para números grandes com casas decimais. O argumento desta função não pode ser do tipo texto, caso contrário será gerada uma mensagem de erro, em tempo de execução.

Att.. ;)

 
Postado : 07/01/2012 4:23 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

...Obrigado JoseA...

;)

 
Postado : 07/01/2012 4:50 pm