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

rijen verwijderen

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
In een sheet selekteer ik met behulp van de autofilter een aantal rijen. De rijen die ik geselekteerd heb, wil ik verwijderen. Ik zou die rijen met de muis kunnen aanklikkenen dan kiezen voor rijen verwijderen. Dat werkt perfect.

Ik wil alles echter in een makro gieten, aangezien ik deze toepassing dagelijks 4 tot 5 maal wens uit te voeren (op een steeds veranderende database).

Bijkomend probleem is dat de rijen die verwijderd dienen te worden aan een criterium voldoen, met andere woorden vandaag zijn dat rijen 1 3 5 7 , morgen 1 3 8 10 .

Mijn vraag : hoe verwijder ik de rijen die ik met behulp van autofilter heb geselekteerd ?
 
Hallo Stefano,

Wanneer we Filter Data gaan gebruiken via AutoFilter dan wordt er een soort verborgen Named Range gemaakt met als naam:

Sheet Name!_FilterDatabase

Om nu enkel de rijen met gegevens te deleten zou je een VBA-instructie kunnen maken in de zin van

'Sheet Name!_FilterDatabase.offset(1).Resize('Sheet Name!_FilterDatabase'.Rows.Count-1).Delete

Beste groeten van Marrosi
 
Dank je maar ....

als mijn bestand analyse.xls noemt en mijn tabblad blad1 wat wordt de kode dan ?

dank !

Sub test()

Windows("analyse.xls").Activate
Cells.Select
Selection.AutoFilter
ActiveWindow.SmallScroll ToRight:=10
Selection.AutoFilter Field:=12, Criteria1:="ONWAAR"
hier komt dan wellicht de nieuwe kode
End Sub
 
Stefano,

Ik veronderstel dat de code voor het verwijderen van de rijen er als volgt moet uitzien:

Range(“blad1!_FilterDatabase”).Offset(1).Resize(Range(“blad1!_FilterDatabase”).Rows.Count-1).EntireRow.Delete


Hopelijk heb ik geen typfouten gemaakt. Ik heb het niet kunnen uittesten!

Mocht het niet lukken, laat het dan weten.

Groetjes van Martin en Rosine
 
Stefano,

Sorry voor het late antwoord.

Wanneer ik je voorbeeld opende kreeg ik in kolom L de waarden TRUE of FALSE staan. Al de rest van je werkblad is echter in het Nederlands en dus veronderstel ik dat die die TRUE en FALSE het resultaat zijn van het feit dat jij met een Nederlandse Excel werkt en ik met een Engelse.

Ik heb dus al de TRUE’s omgezet naar WAAR en de FALSE’s naar ONWAAR

Wanneer ik dan de macro run krijg ik een compile error (variable not defined).

Ik stel echter vast dat in jou laatste codelijn de underscores ontbreken na de !-tekens.

Als ik probeer om deze _ er tussen te voegen krijg ik weer een compile error (invalid character).

Nu komt het gekke: wanneer ik de laatste code-lijn

Range("blad1!_FilterDatabase").Offset(1).Resize(Range("blad1!_FilterDatabase").Rows.Count - 1).EntireRow.Select

helemaal opnieuw ingtyp krijg ik geen errors meer en werkt alles naar behoren.

In deze code-lijn heb ik voor test-redenen de laatste instructie Delete wel vervangen door Select.

Ter informatie: ik werk met nog met Excel 2000 en Office 2000 (engelse versie)

Groetjes van Marrosi

Hierbij mijn aangepaste versie van je bestand (enkel even .zip vervangen door .xls)
 
het werkt

Na wat zoekwerk en aandacht aan false en true ipv waar en onwaar ===> GELUKT

bedankt!
 
Met een beetje zoekwerk kom je er altijd wel .... soms is de vraag echter hoeveel is een beetje?????

Groetjes van Martin en Rosine
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan