Boa noite pessoal!
Sou novo aqui, e gostaria da ajuda de vocês, se possível. Desde já, agradeço!
Tenho uma Arquivo com 02 Abas: Relatorio e Dados.
Preciso fazer com que a macro percorra um determinado RANGE da Aba Dados e quando ele encontrar o critério especificado (data na célula H2) ele copie algumas das células daquela linha para a planilha Relatorio, e assim sussessivamente, até copiar todas as referências.
Fiz a estrutura com For Next, mas não sei o que estou errado, ou até mesmo se essa Estrutura seria a adequada.
Segue o código:
Sub Pesquisa()
'Limpa o intervalo da planilha
Relatorio.Range("A5:H100").ClearContents
'Descobre a última linha digitada da Dados tendo como referência a Coluna B
ultimalinha = Dados.Cells(Rows.Count, "B").End(xlUp).Row
'Minha planilha inicia na linha 5
lin = 5
For i = 5 To ultimalinha
'Se os dados das células forem iguais Então
If Relatorio.Range("H2") = Dados.Cells(i, 14) Then
'Copie as dados das células
Relatorio.Cells(lin, 1) = Dados.Cells(lin, 1)
Relatorio.Cells(lin, 2) = Dados.Cells(lin, 2)
Relatorio.Cells(lin, 3) = Dados.Cells(lin, 3)
Relatorio.Cells(lin, 4) = Dados.Cells(lin, 4)
Relatorio.Cells(lin, 5) = Dados.Cells(lin, 5)
lin = lin + 1
End If
Next
End Sub
O problema é que ele não está localizando corretamente. Ele entende que possui duas datas que atendem o critério, mas ele copia sempre as 02 primeiras linhas e não as linhas que possuem as datas.
Poderiam me ajudar? Em anexo planilha exemplo!
Postado : 13/04/2020 7:59 pm