• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

regel wissen als cel datum ouder is dan vandaag

Status
Niet open voor verdere reacties.

caffie

Gebruiker
Lid geworden
2 jan 2008
Berichten
291
Ik heb een sheet met op kolom E datums staan
Als de datum ouder is dan vandaag mag deze regel worden gewist


7-3-2018
8-3-2018
9-3-2018
10-3-2018
11-3-2018
12-3-2018
13-3-2018
enz


ik heb er dit van gemaakt

For x = 6 To 100
If Worksheets("Elsa 67").Cells(x, "E").Value < Now() Then
Worksheets("Elsa 67").Rows(x).Delete
x = x - 1
End If

dit werk prima maar is niet netjes
hoe kan ik dit in een loop stoppen of beter maken
nu laat ik dus altijd 100 regels controleren
maar als ik dus na 2 dagen me sheet open zijn er pas 2 dagen om en worden er 2 dagen gewist
bij een week 7
enz.


graag ook een beetje uitleg
ik ben een beginnen (ook wel te zien aan de code denk ik)

vast bedankt


ik krijg de sheet niet toegevoegd
krijg een fout melding
stuur ik een foto doet hij het wel
dus dan maar een foto
 

Bijlagen

  • Screen Shot 03-10-18 at 02.11 PM.PNG
    Screen Shot 03-10-18 at 02.11 PM.PNG
    257,6 KB · Weergaven: 45
  • Helpme.xlsm
    Helpme.xlsm
    993,1 KB · Weergaven: 30
Laatst bewerkt:
Plaats je document of een relevant voorbeeld er van.
 
Zet er een filter op.

Als het niet lukt, volg je Ed's advies op.
 
Laatst bewerkt:
Daarnaast moet je bij het verwijderen van regels altijd van onder naar boven werken en niet andersom.
Dus niet: For x = 6 To 100
Maar: For x = 100 To 6 Step -1
 
Met een filter
Code:
Sub VenA()
  With Cells(5, 5).CurrentRegion
    .AutoFilter 5, "<" & Format(Date, "m-d-yyyy")
    .Offset(1).EntireRow.Delete
    .AutoFilter
  End With
End Sub

of met een union
Code:
Sub VenA()
Dim r As Range
  For Each cl In Columns(5).SpecialCells(2, 1)
    If cl < Date Then
      If r Is Nothing Then Set r = cl Else Set r = Union(r, cl)
    End If
  Next cl
  If Not r Is Nothing Then r.EntireRow.Delete
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan