Ir ao conteúdo
  • Cadastre-se

Excel Problema em VBA com VLOOKUP


Posts recomendados

Estou fazendo um código em VBA que busca os valores das colunas E , F e G.

A celula A2 é onde você digita o código do cliente e recebe as informações do nome e do patrimônio ( nome coluna F e patrimonio a G ) . Código do cliente está na coluna E .

As informações do nome e patrimonio , respectivamente , sao mostradas nas celulas B2 e C2 atraves de um VLOOKUP que fiz . Isso tudo está funcionando corretamente , porém quero expandir que em vez de só a celula A2 fazer essa procura através do VLOOKUP , para que a coluna inteira A faça essa busca , porém não está dando certo . O que estou errando no código ? Obrigado pela atenção 

 

Sub Go()
        Dim qtd As Long
       
        qtd = Selection.Rows.Count
        If qtd < 500 Then
            'ok, segue com a busca1
            qtd = qtd
            For j = 2 To 2 'qtd
                If Check(j) Then
                Call Procurar(j)
                
                Else
                    LimparDados
                    MsgBox "Cliente não cadastrado"
                End If
            Next j
        Else
            'exibe mensagem de erro
        End If
End Sub

Function Check(borboleta As Variant) As Boolean
        Dim qtd As Long
        Check = False
        Range("E2").Select
        Range(Selection, Selection.End(xlDown)).Select
        qtd = Selection.Rows.Count + 1
        For i = 1 To qtd
            If Cells(borboleta, 1).Value = Cells(i, 5).Value Then
                Check = True
                Exit Function
            End If
        Next i
End Function

Function Procurar(index As Variant)
    Dim nome As String
    Dim patrimonio As Double
   
    If IsEmpty(Cells(index, 1).Value) = True Then
        MsgBox "Digite o código do cliente"
    Else
        nome = Application.WorksheetFunction.VLookup(Cells(index, 1).Value, Range("E2:G500"), 2, 0)
        patrimonio = Application.WorksheetFunction.VLookup(Cells(index, 1).Value, Range("E2:G500"), 3, 0)
        Range("B2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("B2") = nome
        Range("C2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("C2") = patrimonio
        Range("C2").Select
        Selection.Style = "Currency"
        Columns("C:C").EntireColumn.AutoFit
    End If
End Function


Sub LimparDados()
        Range("A2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("A2").ClearContents ' Limpar dados do código
        Range("B2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("B2").ClearContents ' Limpar dados do Nome
        Range("C2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("C2").ClearContents ' Limpar dados do Patrimonio
End Sub

Function buscandovalores()

End Function


 

Link para o comentário
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...