Notifications
Clear all

Erro no vlookup

2 Posts
2 Usuários
0 Likes
795 Visualizações
(@yurinsc)
Posts: 2
New Member
Topic starter
 

Estou tentando fazer o procv de uma planilha para outra, porém, esta dando erro, podem me ajudar?

 

Segue o código até o momento:

 

Private Sub planilha_Click()

'relatorio

Dim caminho As Variant
Dim este As Workbook, outro As Workbook

Application.DisplayAlerts = False

caminho = Application.GetOpenFilename

If caminho = False Then Exit Sub

Workbooks.Open caminho, , True
Set este = ThisWorkbook
Set outro = ActiveWorkbook

outro.Sheets(1).Range("a1:n15").Copy
este.Sheets(1).Range("a1:n15").PasteSpecial


Range("d13:n13") = "Checklist de efetivo de 20/11/2023"
Range("d14:n14") = txtavaliador
Range("d15:n15") = Date

'prestador

Dim prest As Variant
Dim cprest As Variant
Dim contr As Variant
Dim ult As Variant
Dim codproc As Variant
Dim resultproc As Variant
Dim inicio As Integer
Dim teste As Variant

cprest = (ThisWorkbook.Path & "\apoio\checklist.xlsx")
If cprest = False Then Exit Sub
Workbooks.Open cprest, , True
Set este = ThisWorkbook
Set prest = ActiveWorkbook
este.Sheets(2).Range("C11:x9990").ClearContents
contr = este.Sheets(1).Range("l9")
Range("a1").AutoFilter field:=1, Criteria1:=contr
Range("A2:P999").SpecialCells(xlCellTypeVisible).Copy
este.Sheets(2).Range("C11").PasteSpecial Paste:=xlPasteValues
ult = este.Sheets(2).Range("C11").End(xlToRight).Column
ult = ult + 12

For inicio = 11 To ult
codproc = este.Sheets(2).Cells(inicio, 6)
resultproc = Application.VLookup(codproc, outro.Sheets(2).Range("F11:P1000"), 14, 0)
este.Sheets(2).Cells(inicio, 19) = resultproc
Next inicio

prest.Close False


End Sub

 __________________________________________________________________________________________________

Editado pela Moderação. Motivo: Procure utilizar o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.

 
Postado : 16/11/2023 11:13 am
(@yurinsc)
Posts: 2
New Member
Topic starter
 

O resultado está como #ref, fiz os teste em cada componente do procv e o único que está dando erro é a parte "outro.Sheets(2).Range("F11:P1000")"

 
Postado : 16/11/2023 3:35 pm
(@osvaldomp)
Posts: 852
Prominent Member
 

Range("F11:P1000"), 14, 0) ~~~> O erro ocorre porque a fórmula faz referência a uma tabela com 11 colunas, F:P, no entanto pede para retornar o conteúdo da coluna 14.

Se você quer retornar o conteúdo da coluna P então altere de 14 para 11.

Osvaldo

 
Postado : 16/11/2023 4:30 pm
(@yurinsc)
Posts: 2
New Member
Topic starter
 

Muito Obrigado

 
Postado : 16/11/2023 6:07 pm