Notifications
Clear all

Problema com Vlookup !!!!!

9 Posts
3 Usuários
0 Reactions
1,186 Visualizações
(@kleberton)
Posts: 4
New Member
Topic starter
 

Ola pessoal,

Estou tendo problemas com um código de Vlookup, tento executa-lo mas recebo a mensagem :

"Erro em tempo de execução 13" Tipo Incompatíveis.

O código é o seguinte:

Private Sub botaopesquisarrr_Click()

If CX3 = "" Then
MsgBox "Digite o ativo!", vbExclamation, "Ativo"
CX3.SetFocus

Else

CX4 = Application.WorksheetFunction.VLookup(CDbl(CX3), Plan3.Range("A8:f2347"), 4, 1)
CX5 = Application.WorksheetFunction.VLookup(CDbl(CX3), Plan3.Range("A8:f2347"), 5, 1)

End If
End Sub

O erro ocorre na linha do Vlookup para CX4 e CX5.

Estou deixando o link do arquivo para download se quiserem dar uma olhada :

http://www.4shared.com/file/gluyofXdba/testee3.html

O erro se encontra no Formulário "cxativo" no botão "pesquisar"

Agradeço desde já!

 
Postado : 29/01/2015 1:05 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boat arde!!

No serviço eu não consigo ver seu arquivo, pois não tenho acesso a site de hospedagem.

Mas o que é isso CX3?

Uma variável ? célula?

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/01/2015 1:09 pm
(@kleberton)
Posts: 4
New Member
Topic starter
 

cx3, cx4 e cx5 são os nomes que coloquei nas textbox.

Em outro formulário consegui fazer o Vlookup corretamente com a cx1 e cx2, o problema esta com essas ai.

 
Postado : 29/01/2015 1:33 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu não consigo testar sem seu modelo!!

Private Sub botaopesquisarrr_Click()
    If IsNumeric(CX3.Text) Then
        MsgBox "Digite o ativo!", vbExclamation, "Ativo"
        CX3.SetFocus
    Else
        CX4.Value = CStr(Application.WorksheetFunction.VLookup(Val(CX3.Value), Plan3.Range("A8:f2347"), 4, 1))
        CX5.Value = CStr(Application.WorksheetFunction.VLookup(Val(CX3.Value), Plan3.Range("A8:f2347"), 5, 1))
    End If
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/01/2015 1:45 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Pelo que observei, vc está usando a função Cdbl, ou seja, está procurando um valor convertido em double.

Porém, na coluna A da Plan3 (POR ATIVO), vc tem apenas strings, como este: EAR-EJS-TG-0001

Dai vai dar erro mesmo, pois o VLOOKUP não vai encontrar nada.

Reveja o teu projeto.

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 29/01/2015 1:57 pm
(@kleberton)
Posts: 4
New Member
Topic starter
 

Pelo que observei, vc está usando a função Cdbl, ou seja, está procurando um valor convertido em double.

Porém, na coluna A da Plan3 (POR ATIVO), vc tem apenas strings, como este: EAR-EJS-TG-0001

Dai vai dar erro mesmo, pois o VLOOKUP não vai encontrar nada.

Reveja o teu projeto.

Entendi gtsalikis, tenho que admitir que nãoconheço muito sobre o vba para rever o meu projeto, mas neste caso, como teria que organizar os códigos para o vplookup funcione?

Pois neste casso quero digitar o ativo, no caso EAR-EJS-TG-0001 é um exemplo, e então quandoclicar no botão pesquisar ele me fornecer os valores dos Km's em número.

Obrigado pela atenção!

 
Postado : 29/01/2015 2:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente

Private Sub botaopesquisarrr_Click()

    If CX3.Text = "" Then
        MsgBox "Digite o ativo!", vbExclamation, "Ativo"
        CX3.SetFocus
    Else
        CX4.Value = CStr(Application.VLookup(CX3.Value, Plan3.Range("A8:f2347"), 4, 1))
        CX5.Value = CStr(Application.VLookup(CX3.Value, Plan3.Range("A8:f2347"), 5, 1))
    End If

End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/01/2015 2:03 pm
(@kleberton)
Posts: 4
New Member
Topic starter
 

Pelo que observei, vc está usando a função Cdbl, ou seja, está procurando um valor convertido em double.

Porém, na coluna A da Plan3 (POR ATIVO), vc tem apenas strings, como este: EAR-EJS-TG-0001

Dai vai dar erro mesmo, pois o VLOOKUP não vai encontrar nada.

Reveja o teu projeto.

Entendi gtsalikis, tenho que admitir que nãoconheço muito sobre o vba para rever o meu projeto, mas neste caso, como teria que organizar os códigos para o vplookup funcione?

Pois neste casso quero digitar o ativo, no caso EAR-EJS-TG-0001 é um exemplo, e então quandoclicar no botão pesquisar ele me fornecer os valores dos Km's em número.

Obrigado pela atenção!

opa, problema resolvido.. consegui arrumar. Era apenas mudar o CDbl para Cstr e funcionou, muito obrigado pela ajuda de todos!

 
Postado : 29/01/2015 2:03 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu fico feliz em ajuda, favor clicar na mãozinha!!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 29/01/2015 2:10 pm