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

Tabelrijen verwijderen op bepaalde data via VBA

Status
Niet open voor verdere reacties.

Mansv1966

Gebruiker
Lid geworden
3 aug 2019
Berichten
52
Hallo,

Is het mogelijk om tabelrijen te verwijderen met Vba op een bepaalde datum? bv op 1 januari en 1 aug.

En zo ja hoe doe ik dat dan.

Mansv1966
 

Bijlagen

  • Test.xlsx
    9,4 KB · Weergaven: 31
Onduidelijk wat je bedoelt want er staan geen datums in je tabel.
Of bedoel je dat alle regels weg moeten op het moment dat het b.v. 1 januari is?
Code:
If Format(Date, "d-mm") = "1-01" Then
    Sheets("Blad1").ListObjects("Tabel1").DataBodyRange.Delete
End If
 
Laatst bewerkt:
Hallo edmoor ,

Alle regels op de bovenste na mogen verwijdert worden zowel op 1 jan als op 1 aug
 
Dat staat er dus al. Nu met 1 augustus er bij en foutafhandeling als er geen regels zijn:
Code:
If Format(Date, "d-mm") = "1-01" Or Format(Date, "d-mm") = "1-08" Then
    On Error Resume next
    Sheets("Blad1").ListObjects("Tabel1").DataBodyRange.Delete
    On Error Goto 0
End If
 
Laatst bewerkt:
HAllo Edmoor,

Zal ws wel iets verkeerds doen hij werkt niet. Heb de klok van PC even terug gezet maar er gebeurt dus niets
 

Bijlagen

  • Test.xlsm
    12,7 KB · Weergaven: 29
Doet het hier prima.
En het is nergens voor nodig je klok terug te ztten.
Je kan in de code toch even de datum aanpassen?

Je hebt het nu in het Worksheet_Change event staan.
Dat betekent dat je wilt dat die code wordt uitgevoerd bij iedere wijziging in het werkblad.
Wijzig dus die "1-08" eens in "6-08" en vul iets in, bijvoorbeeld in cel E1 en druk dan op de Enter toets.
 
Als ik hem wil activeren zonder dat ik iets hoef in te vullen waar zet ik hem dan in Worksheet_........
 
Dat ligt er maar net aan op welk moment je die code wilt laten uitvoeren.
Als je wilt dat dat gebeurt bij het openen van het document bijvoorbeeld, dan zet je dat in de ThisWorkbook sectie als Sub Workbook_Open.
Het zou ook kunnen met een druk op een knop, dan maak je er een knopje voor op het werkblad.
En zo zijn er nog veel meer mogelijkheden, het is dus aan jou wat je wilt.
 
Als ik s nachts om 00:01 deze wil laten uitvoeren hoe luid de code dan:
Code:
If Format(Date, "d-mm") = "1-01" Or Format(Date, "d-mm") = "6-08" and Format(Time, "uu:mm") = "00:01" Then
    On Error Resume Next
    Sheets("Blad1").ListObjects("Tabel1").DataBodyRange.Delete
    On Error GoTo 0
End If

er vanuit gaande dat de computer dan aanstaat :)
 
Dan moet je met een timer gaan werken, moet je PC aan staan en het Excel document open staan.
 
Denk dat het voor mij het makkelijkste dan is om het handmatig te doen mijn VBA kennis is 0 , 0
 
Heb toch nog een vraagje,

Als ik de rijen wil wissen aan de hand van een getal i.p.v een knopje. hoe doe ik dat dan?
 
Welk getal?
Waar staat dat getal?
Hoe komt die daar?

Zie ook #6.
 
Welk getal? Willekeurig getal

Waar staat dat getal? Cel H3

Hoe komt die daar? Door een formule
 
Je reactie levert weer zoveel mogelijkheden en dus vragen op die ik hier niet ga beschrijven, dat ik er niets mee kan.
Plaats liever een relevant voorbeeld document met die situatie.

Maar bepaal eerst wat je nu eigenlijk precies wilt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan