Descricao: |
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
Publicidade Compre com segurança, garantia e ótimos preços
|