• 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 Cellen verwijderen

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

MrJaxxs

Gebruiker
Lid geworden
5 mei 2019
Berichten
11
Goedenavond,

Ik gebruik Office Family op een Windows 11 Pro pc. Is er een mogelijkheid in Excel om cellen een soort van houdbaarheidsdatum te geven. In het bijgevoegd bestand het voorbeeld. Kolom C is al ingericht als datum maar ik zou graag willen dat 3 maanden, of een willekeurige andere datum, na die datum de hele regel (in dit geval regel 2) of cellen A2 B2 C2 D2 en E2 automatisch word(t)en verwijderd. Dus feitelijk een datum koppeling met de andere cellen met als opdracht verwijderen van alle cellen benoemd in die regel na (zoals in bijlage) 3 maanden na plaatsing. Eventueel ook de mogelijkheid om de ingestelde datum na opslaan niet meer aan te passen.

Dank jullie wel alvast.

Mvg Eric
 

Bijlagen

  • Schermafbeelding 2025-01-14 220048.png
    Schermafbeelding 2025-01-14 220048.png
    30,1 KB · Weergaven: 17
Zo:
Code:
Private Sub Workbook_Open()
    For r = Range("C:C").CurrentRegion.Rows.Count To 2 Step -1
        If DateAdd("m", -3, Now()) > Cells(r, 3).Value Then Rows(r).Delete
    Next
End Sub
 
foto's zijn voor een ander forum. hier werken we liefst met een excel voorbeeldbestandje
 
Zo:
Code:
Private Sub Workbook_Open()
    For r = Range("C:C").CurrentRegion.Rows.Count To 2 Step -1
        If DateAdd("m", -3, Now()) > Cells(r, 3).Value Then Rows(r).Delete
    Next
End Sub
Dank je wel alvast. maar eerlijk gezegd geen idee hoe dat te implementeren in excel. Ik probeer je code te lezen en te begrijpen. maar jah van coderen niet veel kaas gegeten.

PS een voorbeeld excel bestand bijgevoegd. Is een kopie van het origineel uiteraard. Alvast bedankt.

Mvg Eric
 

Bijlagen

Open het bestand. Zet in kolom 3 enkel datums die ouder zijn dan drie maanden terug.
Sla bestand op en sluit. Heropen het bestand en de rijen met de oudere datum worden automatisch verwijderd.
 

Bijlagen

zo kan het ook.
Goedendag en dank je wel, maar dan moet de verkoper dat wel gaan doen. Het is nog maar een klein gedeelte maar mocht dat vol komen te staan, dan gaan mensen dingen gewoon laten staan of vergeten het te doen o.i.d.. Met het automatisch verwijderen hebben ze gewoon 3 maanden en daarna opnieuw invullen. Zo houden we ons marktplaats gedeelte opgeruimd. Maar zeker bedankt voor je input
 
Open het bestand. Zet in kolom 3 enkel datums die ouder zijn dan drie maanden terug.
Sla bestand op en sluit. Heropen het bestand en de rijen met de oudere datum worden automatisch verwijderd.
Dank je wel voor de oplossing. Mag ik vragen hoe je dat gedaan hebt? Of gaat dat via die code die hier boven staat??

Mvg Eric
 
Zodra je het bestand opent wordt de Workbook_Open gebeurtenis uitgevoerd.

Code:
Private Sub Workbook_Open()
    For r = Range("C:C").CurrentRegion.Rows.Count To 2 Step -1
        If DateAdd("m", -3, Now()) > Cells(r, 3).Value Then Rows(r).Delete
    Next
End Sub

Er gebeurt dan het volgende:
r = het hoogste rijnummer waarvoor kolom C gevuld is.
Dan wordt voor terugtellende r (Step -1) per cel van kolom C (=Cells(r,3)) bepaald of de datum in die cel ouder is dan 3 maanden geleden, DateAdd("m",-3,Now()) is de datum die ligt 3 maanden voor de datum van vandaag.
Zo ja, dan wordt de rij verwijderd: Rows(r).Delete.
En beredeneer zelf eens waarom van beneden naar boven gewerkt wordt.

Bekijk de VBA code via Alt+F11, dubbelklik op ThisWorkbook.
 
zodus zaken die de eerste dag verkocht zijn moeten toch nog 3 maand -1 dag blijven staan en zo wil je dan op markt plaats opgeruimd houden?
 
Dit is wat ChatGPT erover schrijft.
Of het klopt, geen idee. Lijkt wel logisch.

Functie van de macro:​

  1. Workbook_Open-event: De macro wordt automatisch uitgevoerd bij het openen van het werkboek omdat deze is gekoppeld aan het Workbook_Open-event.
  2. Doornemen van rijen in kolom C: De macro doorloopt alle rijen in het bereik van kolom C (Range("C:C").CurrentRegion.Rows.Count bepaalt het aantal rijen in de huidige gegevensregio). Het begint bij de laatste rij (To 2 Step -1) en gaat omhoog naar rij 2. Rij 1 wordt overgeslagen (vermoedelijk bevat deze kopteksten).
  3. Controleren van datum: Voor elke rij controleert de macro of de datum in kolom C meer dan 3 maanden oud is. Dit gebeurt met de functie:
    DateAdd("m", -3, Now()) > Cells(r, 3).Value
    • DateAdd("m", -3, Now()) berekent een datum die drie maanden vóór de huidige datum ligt.
    • Cells(r, 3).Value verwijst naar de cel in kolom C van de huidige rij.
    • Als de datum in de cel ouder is dan deze berekende drempel, wordt de rij verwijderd.
  4. Rijen verwijderen: Als de voorwaarde waar is, wordt de rij (Rows(r)) verwijderd:
    Rows(r).Delete
  5. Iteratie van achter naar voren:De lus gaat van beneden naar boven (via Step -1). Dit is essentieel bij het verwijderen van rijen, omdat anders het verwijderen van een rij invloed zou hebben op de indexen van de resterende rijen.
 
Iteratie van achter naar voren:De lus gaat van beneden naar boven (via Step -1). Dit is essentieel bij het verwijderen van rijen, omdat anders het verwijderen van een rij invloed zou hebben op de indexen van de resterende rijen.
@peter59
Dat klopt idd. :)
 
al onze code heeft het nadeel dat TS niet kan zien wat er gebeurd en hij zich blijkbaar niet de moeite doet om eens een stuk in te vullen. Bij deze opent het bestand op blad 2 waar hij kan zien wat erop blad 1 staat.
Bij het openen van blad 1 zal hij dan zien wat er van overschiet.
 

Bijlagen

ik zou graag willen dat 3 maanden, of een willekeurige andere datum, na die datum de hele regel (in dit geval regel 2) of cellen A2 B2 C2 D2 en E2 automatisch word(t)en verwijderd.
Met het automatisch verwijderen hebben ze gewoon 3 maanden en daarna opnieuw invullen. Zo houden we ons marktplaats gedeelte opgeruimd. Maar zeker bedankt voor je input
Ik denk dat deze opmerkingen voor zichzelf spreken. :(
 
En als het verkocht is ? Zie #12 van Emields
Ben benieuwd of TS nog met die aanvullende vraag komt.
 
Waarom niet eenvoudig aflopend sorteren op kolom C ?
 
zodus zaken die de eerste dag verkocht zijn moeten toch nog 3 maand -1 dag blijven staan en zo wil je dan op markt plaats opgeruimd houden?
Dank je wel voor je reactie. Ja er moet ergens een schifting zijn. 3 maanden is overzichtelijk vind ik. Ik hoop dat mensen het er zelf afhalen als het verkocht is maar ik ken wel een paar marktplaatsen waar sommige items meer dan een jaar op staan. En als je dan reageert, oooowww die is 8 maanden geleden al verkocht maar had hem er nog niet vanaf gehaald. Met de aanpassing waar ik om vroeg is dat verleden tijd. En die 3 maanden neem ik dan wel voor lief.

Grt Eric
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan