Saberexcel - o site das macros
Essas duas macros do Aplicativo Microsoft Excel VBA(Visual Basic Application), estão equipadas com a WorksheetFunction.vlookup, onde uma retorna os valores de busca personalizada com Fórmula e Sem Fórmulas.
Prezado Sr. Marcondes, sou um iniciante em VBA e estou lutando com uma fórmula PROCV que funciona "à escala" (ou seja, puxando manualmente), mas não consigo fazer essa função trabalhar gostaria de saber como? fazer, somente com o macros, com o código (mesmo com WorksheetFunction.VlooKup etc.) Não consigo a resposta!!, ninguém me responde. São duas tabelas, peço-lhe que se puder ajudar-me a entender a WorksheetFunction.Vlookup . Ficaria muito agradecido, não consegui. Sei que o Senhor conhece muito e poderá ajudar-me com a minha intenção,
Agradecido, Antonio (Ptb)
-ACONSELHO A DAR UMA OLHADINHA NA MATÉRIA SOBRE AS 34O WORKSHEETFUNCTIONS -VBA -
340 PLANIHAS WorksheetFunction funções de planilhas retornam valores vba
Antonio, vamos aos Macros já prontos e resolvidos. Ok. abaixo baixe o exemplo de planilha para visualizar os resultados obtidos.
Sub Procv_inserir_sem_formula()
Dim sb As Double, UltimaLinha As Double, i As Double
UltimaLinha = Sheets("Volumes").Range("A" & Rows.Count).End(xlUp).Row
Dim vOperador As Variant
With Sheets("Volumes")
For i = 2 To UltimaLinha
vOperador = WorksheetFunction.VLookup(.Cells(i, 1), Range("AREA"), 5, False)
.Cells(i, 5) = vOperador
Next i
End With
End Sub
Sub Procv_inserir_com_formula()
Dim C As Range
With Saber2
Set C = .Range("E2:E" & .Range("A65000").End(xlUp).Row)
End With
With C
.Formula = "=INDEX('SubContratados'!E:E,MATCH(A2,'SubContratados'!A:A,0))"
'.Value = .Value ' usa-se essa linha de código para que seja repassado os valores e apagado as fórmulas
End With
End Sub
Antonio, observe que abaixo fiz um sistema para auxiliar a quem precisa no teste, esse macro localizará a última linha usada
e limpará todas as linhas deixando-as em branco pra um nova realização do teste. Ok...
Sub Limpar_teste()
Dim C As Range
With Saber2
Set C = .Range("E2:E" & .Range("A65000").End(xlUp).Row)
End With
With C
.Value = ""
End With
End Sub
Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), ), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel
Baixe o exemplo de planiha com os macros acima
Excel planilha vba procv buscando dados e formulas (299.33 KB)