Ir ao conteúdo
  • Cadastre-se

Vba procv no excel


Posts recomendados

Boa noite pessoal,

 

Estou quebrando minha cabeça a dias preciso de uma macro onde eu faça a procura de um determinado valor via procv e quando eu não encontrar o resultado a celular fica "limpa" sem nada, eu consigo fazer a célula ficar fazia mas com a formula nela, o que eu quero é realmente que ela fique fazia sem nada..

 

Se alguém souber agradeço desde já,

 

o cód que fiz foi esse

 

 

Range("K3").Select
    
    ActiveCell.Formula = "=IF(VLOOKUP(I3,b:G,6,0),0,VLOOKUP(I3,b:G,6,0)"
    Selection.AutoFill Destination:=Range("K3:K13"), Type:=xlFillDefault


End Sub

Link para o comentário
Compartilhar em outros sites

Veja se é isso que precisa: 

 ActiveSheet.Range("K3").Select

    ActiveCell.Formula = "=IF(VLOOKUP($I3,$B:$G,6,0),0,VLOOKUP($I3,$B:$G,6,0))"

    On Error GoTo clear

    If Application.WorksheetFunction.VLookup([I3], [B:G], 6, 0) Then
        Selection.AutoFill Destination:=Range("K3:K13"), Type:=xlFillDefault
    End If

    Exit Sub

clear:     Selection.clear
    Selection.AutoFill Destination:=Range("K3:K13"), Type:=xlFillDefault

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Basole disse:

Veja se é isso que precisa: 


 ActiveSheet.Range("K3").Select

    ActiveCell.Formula = "=IF(VLOOKUP($I3,$B:$G,6,0),0,VLOOKUP($I3,$B:$G,6,0))"

    On Error GoTo clear

    If Application.WorksheetFunction.VLookup([I3], [B:G], 6, 0) Then
        Selection.AutoFill Destination:=Range("K3:K13"), Type:=xlFillDefault
    End If

    Exit Sub

clear:     Selection.clear
    Selection.AutoFill Destination:=Range("K3:K13"), Type:=xlFillDefault

 

Boa tarde Basole,

 

Apliquei seu código porém ele me retorna tudo vazio, os valores a serem encontrados também estão sendo limpos

Link para o comentário
Compartilhar em outros sites

Provavelmente está retornando #N/D, pois não está encontrando o valor procurado.

A formula que voce postou retorna 0 (zero) caso o valor da celula "I3" seja encontrado na matriz B:G.

Pelo que entendi, seria isso que voce quer.

Faça um teste com este codigo alterado:

 

Sub Teste()

 ActiveSheet.Range("K3").Select

    ActiveCell.Formula = "=IF(VLOOKUP($I3,$B:$G,6,0),0,VLOOKUP($I3,$B:$G,6,0))"    
        Selection.AutoFill Destination:=Range("K3:K13"), Type:=xlFillDefault    


End Sub

 

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!