Notifications
Clear all

PROCV EM MACRO

4 Posts
3 Usuários
0 Reactions
991 Visualizações
(@luke002)
Posts: 21
Eminent Member
Topic starter
 

Bom dia

Preciso de uma macro que insira a funcao procv na coluna Y,Z,AA usando como referencia a Coluna ''G'' que tem o codigo para achar os valores.

So um detalhe a macro precisa reconhecer que a celula esta preenchida ou nao prq o numero de linhas e variavel.

Obrigado a quem puder ajudar.

ATT.

 
Postado : 03/03/2018 5:27 pm
(@srobles)
Posts: 231
Estimable Member
 

luke002,

Amigo, veja se é isso o que busca.

Abs

Espero ter ajudado.

Abs.

Saulo Robles

 
Postado : 03/03/2018 7:38 pm
(@luke002)
Posts: 21
Eminent Member
Topic starter
 

luke002,

Amigo, veja se é isso o que busca.

Abs

Amigo preciso que o gatilho da macro seja um botao. Nao consegui fazer ela funcionar quando adiciono no botao.

 
Postado : 04/03/2018 12:12 am
(@klarc28)
Posts: 971
Prominent Member
 
'Variáveis publicas para armazenar o retorno da pesquisa
Public vDescription As String
Public vValue As Integer
Public vName As String
Public vPayDate As String
'Função para pesquisa
Function retornaDados()
Dim PayCod As String
'Paycod vai ser o dado que está na coluna 7
'da linha da célula ativa
'faça as adaptações necessárias
PayCod = Cells(ActiveCell.Row, 7)
    'Desabilitamos a atualização de tela
    Application.ScreenUpdating = False
    'Selecionamos a planilha BANKSTATEMENT
    With ThisWorkbook.Sheets("BANKSTATEMENT")
        .Activate
        'Definimos uma variável para
        'realizar a pesquisa
        Dim vBusca
        'Limpamos a variável de pesquisa
        Set vBusca = Nothing
        'Selecionamos a célula C1
        .Cells(1, 3).Select
        'e nas colunas B a F
        With .Range("B:F")
            'Fazemos a pesquisa usando
            'Codigo , procurando por valores e por palavra inteira
            Set vBusca = .Find(PayCod, LookIn:=xlValues, LookAt:=xlWhole)
            'Se for encontrado o valor
            If Not vBusca Is Nothing Then
                'Selecionamos a celula onde o valor foi encontrado
                .Range(vBusca.Address).Select
                'Armazenamos os valores das colunas sub-sequentes
                vDescription = .Cells(ActiveCell.Row, 2)
                vValue = .Cells(ActiveCell.Row, 3)
                vName = .Cells(ActiveCell.Row, 4)
                vPayDate = Format(.Cells(ActiveCell.Row, 5), "dd-mmm")
            Else
                'Se não for encontrado o valor
                'Limpamos as variáveis
                vDescription = ""
                vValue = 0
                vName = ""
                vPayDate = "-"
            End If
        End With
    End With
    'Limpamos a variável de pesquisa
    Set vBusca = Nothing
    'Selecionamos a planilha ON TIME
    ThisWorkbook.Sheets("ON TIME").Activate
    'Habilitamos a atualização de tela
    Application.ScreenUpdating = True
End Function


 
Postado : 04/03/2018 10:02 am