Jump to content

Deletar linhas por critério de data em um coluna


EVALDO_SOARES

Postagens Recomendadas

Tenho uma planilha chamada Dados, cujo cadastro obedece uma data de inclusão, a quantidade de linhas pode se tornar imensa, sendo assim, seria possível um código que pudesse ler a coluna G até o final, a partir da linha 2, pois a linha 1 é o título das colunas, e fizesse a exclusão de todas as linhas com data anterior aos últimos seis meses. Essa ação seria mediante um botão em um userforme.

 

Exemplo: Data atual 20/07/2023.Tenho registros nas linhas desde dezembro de 2022. O Click nesse botão iria ler a coluna G da planilha Dados e excluir todas as linhas cuja coluna G tenha data anterior a  20/01/2022. Resumindo o Critério seria excluir todas as linhas com data anterior aos últimos 6 meses.

PASTA.xlsm

Link to comment
Compartilhe em outros sites

Olá! Veja se resolve seu problema...

 

Sub DeleteOldLines()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim currentDate As Date
    Dim sixMonthsAgo As Date
    Dim i As Long
    
    ' Defina a planilha de trabalho
    Set ws = ThisWorkbook.Sheets("Dados")
    
    ' Defina a data atual
    currentDate = Date
    
    ' Calcule a data seis meses atrás
    sixMonthsAgo = DateAdd("m", -6, currentDate)
    
    ' Determine a última linha preenchida na coluna G
    lastRow = ws.Cells(ws.Rows.Count, "G").End(xlUp).Row
    
    ' Loop através das linhas da coluna G a partir da segunda linha
    For i = lastRow To 2 Step -1
        If ws.Cells(i, "G").Value < sixMonthsAgo Then
            ' Se a data for anterior aos últimos seis meses, exclua a linha
            ws.Rows(i).Delete
        End If
    Next i
End Sub


Lembre-se de testar antes de colocar realmente no seu arquivo principal.

Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...