Notifications
Clear all

Procurar texto em filtro e inserir correspondente

6 Posts
2 Usuários
0 Reactions
1,411 Visualizações
(@dyego-vn)
Posts: 35
Eminent Member
Topic starter
 

Bom dia pessoal, vou tentar explicar mais ou menos o que estou precisando.

Tenho uma lista que recebo de um relatório enviado pela equipe do financeiro aqui, e preciso fazer um filtro. O problema é que são mais de 30 mil linhas e fazer isso manualmente fica complicado. Criei um mini exemplo no excel e estou anexando.

Preciso que ao selecionar o mês na célula B2 a macro faça uma varredura que por todos os itens que estão com o valor da B2 na coluna A, e faça uma análise na coluna B, relacionando com o quadro da planilha 2. Exemplo, colocando SEP-16, a macro vai varrer linha a linha na coluna B de tudo que tem SEP-16 na coluna A; vai verificar qual dos nomes na planilha 2, coluna A, está na tal linha analisada no momento; e assim que achar vai incluir o valor correspondente na coluna C "ORIGEM".

Agradeço desde já a disposição de vocês!

Abraços!

 
Postado : 21/10/2016 7:19 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Eu não encontrei o arquivo no seu anexo!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/10/2016 8:42 am
(@dyego-vn)
Posts: 35
Eminent Member
Topic starter
 

Por algum motivo o arquivo não entrou na compactação.
Segue agora corrigido.

 
Postado : 21/10/2016 9:12 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Seria isso?

Sub AleVBA_22301()
    Dim cell As Range, rngFind As Range, counter As Long

    With Sheets("Sheet2")
        Set rngFind = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    End With
    
    For Each cell In rngFind
        Set Found = Sheets("Sheet1").Range("B:B").Find(What:=cell.Value, _
                                                       LookIn:=xlValues, _
                                                       LookAt:=xlPart, _
                                                       MatchCase:=False)
                                                       
        If Not Found Is Nothing Then
            Found.Offset(, 1).Value = cell.Offset(, 1).Value
            counter = counter + 1
        End If
    Next cell
    
End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 21/10/2016 11:07 am
(@dyego-vn)
Posts: 35
Eminent Member
Topic starter
 

Obrigado Alexandre! Funcionou parcialmente, preencheu alguns campos mas ele pegou toda a coluna, inclusive dos meses que eu não queria. Algumas linhas não funcionaram e no final deu erro "Type mismatch" no código

Set Found = Sheets("Sheet1").Range("B:B").Find(What:=cell.Value, _
LookIn:=xlValues, _
LookAt:=xlPart, _
MatchCase:=False)

 
Postado : 21/10/2016 12:17 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

No meu teste, eu não tive erro ao executar, isso porque eu tenho mal habito com células mescladas, e por isso eu a removi.

Se houver células mescladas, remova e refaça seus testes!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/10/2016 7:42 am