Notifications
Clear all

Declarar variável

6 Posts
3 Usuários
0 Reactions
1,564 Visualizações
wfranca
(@wfranca)
Posts: 297
Reputable Member
Topic starter
 

Pessoal boa tarde.

Como posso declarar essa variável para que ela me carregue na coluna A tanto números quanto nomes?

Quando na coluna A eu tenho nomes.. ela me carrega normalmente minhas textbox ao selecionar a combobox...
mas eu na coluna A eu tiver números ela me traz o erro abaixo.

Welington Gonçalves

 
Postado : 24/10/2014 10:34 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Até onde sei, o comando match sempre retorna números, e, portanto, o problema não deve ser na variável.

Provavelmente o match não está encontrando a informação. Sem a planilha não sei dizer o q acontece...

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

Gilmar

 
Postado : 24/10/2014 12:32 pm
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Como informou o colega Gilmar, a função Match (Corresp) retorna um numero referente a posição relativa em uma range do valor procurado.
Contudo se um valor procurado não for encontrado, o retorno e um erro; e sendo declarado a variável como numérica (long ou integer etc) o VBA "Trava"; possivelmente esse é o problema encontrado
Normalmente associo a um if,
Seria algo +/- assim

If not isError(Application......) then
suavariavel=application....
else
msgbox "Valor não encontrado"
end if

Reinaldo

 
Postado : 24/10/2014 3:04 pm
wfranca
(@wfranca)
Posts: 297
Reputable Member
Topic starter
 

Desculpe senhores, ainda não consegui o raciocínio..

to enviando a planilha em anexo caso possam me ajudar..
oq preciso é que minha combobox reconheça os números da coluna A e carregue normalmente as minhas textbox.

Welington Gonçalves

 
Postado : 29/10/2014 10:03 am
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Voce deve atentar que:
Ao utilizar no ultimo termo o numero 1( Application.Match(Me.cmbcliente.Value, Sheets("Plan1").Range("A:A"),1)); ou seja "trazer" o maior numero proximo ao procurado; a range pesquisada deve estar em ordem crescente.
Tambem deve atentar que Corresp/match "faz" distinção entre numero e texto, então o valor passado por sua combo é interpretado como texto, procurando em uma range interpretada como numerica, gera erro .

Experimente (no seu exemplo) assim: myRow = Application.Match(CDec(Me.cmbcliente.Value), Sheets("Plan1").Range("A:A"), 0)

Reinaldo

 
Postado : 29/10/2014 11:20 am
wfranca
(@wfranca)
Posts: 297
Reputable Member
Topic starter
 

Show!!

Obrigado Reinaldo

Welington Gonçalves

 
Postado : 30/10/2014 10:47 am