Notifications
Clear all

VLOOKUP Invertido

3 Posts
1 Usuários
0 Reactions
1,783 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Prezados

Muitas vezes precisei fazer um VLOOKUP mas a coluna de resposta estava antes da coluna de procura.

De tanto sofrer eu criei essa function que resolve isso. Espero que sirva de ajuda para algum :D

Ps.: Ele identifica se esta na Vertical (vlookup) ou horizontal (hlookup).

Function Vlocar(Procurar As Variant, RangeProc As Range, RangeResult As Range)
Dim proc
Dim vlocL
Dim ativoL
Dim ResultC
Dim ResultL


Vlocar = "#N/A"                                                                            'Default
On Error GoTo jump                                                                     'se erro, default

If RangeProc.Rows.Count >= RangeProc.Columns.Count Then         'Vertical ou Horizontal
ativoL = RangeProc.Row                                                               'Define 1º lin da matriz Procurada
ResultL = RangeResult.Row                                                           'Define 1º lin da matriz Resultado
ResultC = RangeResult.Column                                                      'Define 1º col da matriz Resultado
vlocL = RangeProc.Find(Procurar).Row + ResultL - 1                       'Procura na matriz Procurada
Vlocar = Cells(vlocL - ativoL + 1, ResultC).Value                             'Resposta

Else
ativoL = RangeProc.Column
ResultL = RangeResult.Column
ResultC = RangeResult.Row
vlocL = RangeProc.Find(Procurar).Column + ResultL - 1
Vlocar = Cells(ResultC, vlocL - ativoL + 1).Value
End If

On Error GoTo 0
jump:

End Function
 
Postado : 16/07/2013 2:36 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Oi Mateus, olhei seu código, achei bacana que é bem simples e funciona legal.
Claro que eu vi algumas coisas ali que eu faria diferente, mas cada um programa de um jeito.

Eu não achei muito legal o resultado sair todo na mesma célula caso exista mais de um, daí resolvi também escrever uma, do meu jeito, mais, digamos, complicada, mas certamente bem bacana tb. Vou publicar aqui já já, estou preparando o post... Daí eu coloco link aqui tb.

 
Postado : 20/07/2013 1:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=8854&p=46622#p46622

dá uma olhadinha aqui bro

 
Postado : 21/07/2013 6:11 am