Slette gamle data fra et regneark

December 31  by Eliza

Gene er på utkikk etter en måte å raskt slette data fra et regneark basert på datoen i en bestemt kolonne. Hvis datoen er eldre enn i dag (datoen er passert) deretter raden bør slettes.

Dette kan være ganske enkelt gjøres med en makro. Alt du trenger å gjøre ha makro trinn gjennom dataene og sammenligne datoen i hver rad til dagens dato. Hvis datoen er mindre enn i dag, deretter Slett metoden brukes på EntireRow objekt.

Sub DeleteRows1 ()
Dim x Som Long
Dim iCol As Integer

iCol = 7 'Filter alt på Col G

For x = Cells (Cells.Rows.Count, iCol) END (xlUp) .Row Til 2 Trinn -1
Hvis Cells (x, iCol) .Value <Dato Deretter
Celler (x, iCol) .EntireRow.Delete
End If
Neste
End Sub

I dette eksempel er makro sjekker kolonne G (i iCol variabel) for datoen. Hvis daten din er i en annen kolonne, så bør du gjøre endringen til variabelen. Avhengig av hvor mange rader med data i regnearket, kan makroen også ta en stund å kjøre.

Hvis du oppdager et etterslep i ytelse, så det kan være lurt å bruke en annen tilnærming. Følgende eksempel bruker Autofilter mulighetene i Excel til første filtrere data for å vise bare de gamle data, og deretter sletter de radene.

Sub DeleteRows2 ()
Dim Datoer As Range
Dim nRows As Double
Dim currDate Som Variant

'Format dato som tekst
Range ("Datoer"). NumberFormat = "@"
"Dagens dato i tallformat
currDate = CDbl (dato)
Range ("Datoer") Autofilter Field:. = 1, _
Criteria1: = "<" og currDate
nRows = Range ("Datoer"). Rows.Count
Rader ("2:" & nRows) .Velg
Selection.Delete Shift: = xlUp
Range ("Datoer"). Autofilter
Range ("Datoer"). NumberFormat = "m / d / åååå"
Range ("C2"). Velg
End Sub

Denne makroen forutsetter at du har tatt steget fra å tildele et navn til dataområdet. Velg alle cellene i datatabellen-inkludert enhver posisjon rad-og gi den navnet "Dates." Når du kjører makroen, den bruker dette området som mål for Autofilter.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3384) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Slette gamle data fra et regneark.