Notifications
Clear all

VBA Procv

5 Posts
3 Usuários
0 Reactions
785 Visualizações
(@rklug)
Posts: 2
New Member
Topic starter
 

Bom dia,

Estou utilizando o vba com o vloockup. Tenho uma tabela TabColab) com as colunas Nome e Idade.
Na celula 3,2 aparece o nome #N/D

Sub Macro1()
'
' Macro1 Macro
'
Dim Nome As String
Dim idade As Variant

Sheets("Dados").Select
Nome = Cells(2, 2).Value
idade = Application.VLookup(Nome, TabColab, 2, False)

Cells(3, 2).Select
ActiveCell.FormulaR1C1 = idade

End Sub

 
Postado : 24/10/2012 6:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

não sei se entendi. Mas tente assim:

Sub Macro1()
'
' Macro1 Macro
'
Dim Nome As String
Dim idade As Variant

Nome = Sheets("Dados").Cells(2, 2).Value
idade = "=VLookup(Nome, TabColab, 2, False)"

Sheets("Dados").Cells(3, 2).Select
ActiveCell.Formula = idade

End Sub
 
Postado : 24/10/2012 8:15 am
(@rklug)
Posts: 2
New Member
Topic starter
 

Não funciona, agora apresenta erro com #Nome?, pois não reconhece a variavel "Nome" do Procv.

=PROCV(Nome; TabColab; 2; FALSO)

Segue anexo planilha.

http://www.estilonaweb.com/Vlookup.zip

Obrigado pela Ajuda.

Romeu

 
Postado : 24/10/2012 10:09 am
(@hronconi)
Posts: 314
Reputable Member
 

Rklug,

Você havia esquecido de dar o nome para região NOME.

Segue planilha funcionando.

Abraço,

Henrique Ronconi

 
Postado : 24/10/2012 10:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja
Esta "Coloca" a formula Procv na celula B3

Sub Macro1()
Dim Nome As String
Dim idade As Variant
Nome = Sheets("Dados").Cells(2, 2).Address
idade = "=VLookup(" & Nome & ", TabColab, 2, False)"
Sheets("Dados").Cells(3, 2) = idade
End Sub

e esta coloca o valor (encontrado) na celula C3

Sub Macro2()
Dim Nome As String
Dim idade As Variant
Nome = Sheets("Dados").Cells(2, 2).Value
idade = Application.VLookup(Nome, Range("TabColab"), 2, False)
Sheets("Dados").Cells(3, 3) = idade
End Sub
[code][/code]
 
Postado : 24/10/2012 10:44 am