Notifications
Clear all

Exclusão de linhas por critério de Data

3 Posts
2 Usuários
0 Reactions
536 Visualizações
(@evaldo_soares)
Posts: 0
New Member
Topic starter
 

Olá Boa tarde !!

Tenho uma planilha chamada Dados, cujo cadastro obedece uma data de inclusão, em que 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 Userform.

 

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.

 

Obrigado!

 
______________________________
Título editado pela Moderação.
 
Postado : 29/07/2023 3:19 pm
(@evaldo_soares)
Posts: 0
New Member
Topic starter
 

Apenas a correção do Titulo do POST

Exclusão de linhas por critério de Data

 
Postado : 30/07/2023 11:08 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Postado por: @evaldo_soares

Tenho uma planilha chamada Dados,

No arquivo que você anexou não existe a planilha Dados. O código sugerido abaixo irá atuar na planilha ativa, e independe de seu nome.

 

Essa ação seria mediante um botão em um Userform.

O UserForm teria essa única função ? Se sim, existem outras formas mais simples para executar o código.

 

Exemplo: Data atual 20/07/2023.... e excluir todas as linhas cuja coluna G tenha data anterior a  20/01/2022.

A data correta é 20/01/2023.

______________________________
Título editado pela Moderação.

Sub ExcluiRegistros()
With ActiveSheet
Application.ScreenUpdating = False
On Error Resume Next
.ShowAllData
On Error GoTo 0
.[A1:N1].AutoFilter 7, "<" & CLng(DateAdd("M", -6, Date))
If .AutoFilter.Range.Columns(1).SpecialCells(12).Count < 2 Then
MsgBox "NÃO ENCONTRADAS DATAS QUE ATENDEM AO CRITÉRIO"
Else: .Range("A2:N" & .Cells(Rows.Count, 1).End(3).Row).SpecialCells(12).EntireRow.Delete
End If
.AutoFilterMode = False
End With
End Sub

 

 
Postado : 30/07/2023 11:51 am