• 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.

Opgelost Oude datums uit een kolom verwijderen bij het openen van een werkblad

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Catrysse59

Gebruiker
Lid geworden
28 mrt 2014
Berichten
24
Hallo iedereen , Ik ben op zoek naar een vba formule die bij het openen van een werkblad oude data dus ouder dan de huidige automatisch verwijderen in een bepaalde kolom . In bijlage vindt u een voorbeeld waarbij in kolom K dit momenteel via een macro lukt . De vba formule
werd in een module geplaatst
Sub VerwijderOudeDatumsAutomatisch()
Dim cel As Range
Dim bereik As Range
Set bereik = Range("k1:k25") ' Pas het bereik aan naar je eigen situatie

For Each cel In bereik
If IsDate(cel.Value) Then
If cel.Value < Date Then
cel.ClearContents ' Verwijdert de inhoud van de cel
End If
End If
Next cel
End Sub




en zou in principe aangepast moeten worden ..... maar bij mij lukt dit niet . Zou er iemand dit bestand kunnen aanpassen dat dit automatisch gebeurt zonder dat ik iedere keer de macro op het werkblad moet activeren ? Dankjewel
 

Bijlagen

Plaats dit in je ThisWorkbook module:
Code:
Private Sub Workbook_Open()
    VerwijderOudeDatumsAutomatisch
End Sub
[/ODE]
 
Enkele tips bijgevoegd.

Code:
Sub VerwijderOudeDatumsAutomatisch()
    'gebruik geen overbodige variabelen
    Dim cl As Range
    'Verwijs steeds expliciet naar het werkblad waar de code moet werken
    With Sheets("Blad3")
        'bereik past zich automatisch aan aan de lengte v/d kolom
        For Each cl In .Range("K1", .Range("K" & .Rows.Count).End(xlUp))
            If (IsDate(cl.Value)) And (cl.Value < Date) Then
                cl.ClearContents  ' Verwijder de inhoud van de cel
            End If
        Next cl
    End With
End Sub
 
Of?
Code:
Sub VerwijderOudeDatumsAutomatisch()
With Range("k8:k25")
  .AutoFilter 1, "<" & CLng(Date)
  .ClearContents
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan