Ir ao conteúdo
  • Cadastre-se

Excel Criar botão com função Procv no VBA


Posts recomendados

Boa noite pessoal,

 

Preciso de uma ajuda, gostaria de colocar um botão com o nome incluir onde ele faca a função do Procv localizando uma informação em uma planilha e colando em outra. No caso ele usaria como valor procurado o numero da NF na "Planilha1" buscando na "Planilha2" o KM referente ao numero da NF e colaria na "Planilha1". Isso se repetiria diariamente. Segue abaixo planilha.

Botão incluir.xlsx

Link para o post
Compartilhar em outros sites

@Zamboni_du Veja se resolve. Atribua a macro ao botão incluir,

 

Sub Incluir()
    Dim Area As Range
    
    Set Area = Planilha1.[G2].Resize( _
        Planilha1.[A1].End(xlDown).Row - 1)
    
        Area.FormulaR1C1 = _
            "=VLOOKUP(RC[-1],Planilha2!R7C4:R12C6,3,0)"
        Area.Copy
        Area.PasteSpecial xlPasteValues
        Application.CutCopyMode = False
End Sub

 

  • Curtir 1
  • Obrigado 1
Link para o post
Compartilhar em outros sites

@Midori Muito obrigado pela ajuda, você poderia me explicar passo a passo para entender e aprender? 

@Midori outra coisa se eu quiser fazer o mesmo com a coluna que contem as horas, como faço?

50 minutos atrás, Zamboni_du disse:

@Midori Muito obrigado pela ajuda, você poderia me explicar passo a passo para entender e aprender

 

Link para o post
Compartilhar em outros sites

@Zamboni_du  Em Dim Area As Range faço o declaração da variável Area como Range e com a instrução Set atribuo as células onde quero colocar o km. Para definir as células aumentei o range a partir de [G2], veja que passei para resize o tamanho:

 

Planilha1.[A1].End(xlDown).Row - 1

 

Assim pego a última linha da tabela usando a coluna A como referência (tirei 1 porque faço resize a partir da segunda linha). Como a última linha da tabela da sua planilha é a 44, o comando acima vai retornar o valor necessário para atribuir o intervalo (que no caso tem 43 linhas). Portanto de G2 o range passará a ser G2:G44.

 

Area.FormulaR1C1 = "=VLOOKUP(RC[-1],Planilha2!R7C4:R12C6,3,0)"

 

Aí atribuí a fórmula PROCV. Se a macro terminasse nessa linha ia deixar a fórmula na planilha, mas nas linhas seguintes copio e colo como valor para tirar a fórmula.

 

Link para o post
Compartilhar em outros sites

@Midori ok, porém essa planilha é um exemplo a original ela não termina na linha 44 ela vai aumentando dia a dia, outra coisa eu também preciso que os valores da coluna hora também sejam inseridos na planilha1, o que eu preciso alterar? Eu tentei porém deu erro.

Link para o post
Compartilhar em outros sites

@Zamboni_du A macro sempre vai pegar a última linha, faça um teste com mais e veja que funciona.

 

Para os valores das horas acrescente esta linha no código,

 

Area.Offset(0, 1).FormulaR1C1 = _
    "=VLOOKUP(RC[-2],Planilha2!R7C4:R12C7,4,0)"

 

Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Redes-Wi-Fi-capa-3d-newsletter.png

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!