Exclua todas as células com dados de datas anteriores usando VBA

Anonim

Neste artigo, criaremos uma macro para deletar dados de datas anteriores. Esta macro verifica os dados, mantém os dados de hoje e exclui todos os dados de datas anteriores.

Os dados brutos neste exemplo consistem em data, nome do agente e vendas do agente individual naquela data específica.

Para executar a macro, clique no botão da planilha “Principal” ou pode-se até executá-la pressionando as teclas de atalho Alt + F8.

A macro excluirá todos os registros com datas anteriores. Como executamos esta macro em 14 de dezembro de 2016, a saída refletirá os registros apenas para essa data.

Explicação lógica

Neste exemplo, criamos a macro “RemovePreviousData”. Esta macro usa loop FOR reverso, significa que o loop é executado na direção oposta. O loop começa na última linha e segue em direção à linha superior.

A razão para usar o loop reverso é que, se tivéssemos usado o loop FOR normal, depois de cada exclusão de linha, os registros presentes nos dados teriam sido deslocados para cima, resultando na mudança de posicionamento a cada exclusão de linha. Então, para combater isso, usamos o loop reverso.

Usamos a instrução Step junto com o loop FOR para fazer um loop na direção reversa. O loop FOR começa na última linha e segue em direção a 11º fileira.

Siga abaixo para o código

 Option Explicit Sub RemovePreviousData () Dim Counter, LastRow As Integer 'Encontrando o número da última linha LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell) .Row' Loop da última linha para a 11ª linha Para Counter = LastRow To 11 Etapa -1 If Cells (Counter, 1) .Value <Date Then 'Excluindo as linhas da linha (Contador) .Delete End If Next Counter End Sub 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail