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

deleten na selecteren

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Hoi, hallo,

Ik beschik over een excelblad met daarin één kolom cancelled die de gegevens waar of onwaar kan bevatten. Wat ik wil is de waarden "waar" selekteren en ze verwijderen.

Ik was begonnen met autofilter en dan selekteren op waar. Op die manier krijg ik een selektie data die ik kan verwijderen, alleen zal bij een volgende gebruik het selektoegebied anders zijn, vandaar dat ik er niet uitraak.

Heeft iemand een oplossing ?
 
Zou je met een macro kunnen doen.
Neem in die macro het filteren op waar, selecteren en deleten op.
 
klopt

Klopt wat je zegt, maar hoe selekteer ik dat gebied, dat gebied dat telkens andere rijen zal bevatten ? Vandaag zijn dat rijen 1 2 3 5 8 10 , morgen mogelijks 1 2 3 17 38 115 .

dank, stefaan
 
Gebruik inderdaad autofilter om je gegevens te filteren.
Markeer de gefilterde gegevens die je in beeld hebt en kies voor F5, dan speciaal, alleen zichtbare cellen.
Klik dan met rechts en kies voor rij verwijderen.
Daarna bij autofilter weer kiezen voor Alle categorieen.
 
klopt niet volledig (denk ik)

Fred, Jan, dank voor de hulp maar ...

Ik denk dat ik het probleem niet duidelijk genoeg uitleg. Vandaar hierbij een nieuwe poging.

Mijn bedoeling is vooreerst het selecteren en verwijderen te automatiseren. Bovendien is het zo dat NIET STEEDS DEZELFDE rijen dienen verwijderd te worden, vandaar dat ik reeds mijn twijfels neerpende over jullie antwoorden. Je schrijft : "Markeer de gefilterde gegevens die je in beeld hebt en kies voor F5, dan speciaal, alleen zichtbare cellen." Het eerste deel daar zit hem het probleem !!! Markeer de gefilterde gegevens : ik weet NIET OP VOORHAND welke rijen dat zullen zijn, want het bestand wordt dagelijks aangepast. De selectie zou 1. automatisch moeten gebeuren en 2. de eerste rij met kolmnamen moet bewaard blijven.

Hopelijk ben ik nu iets duidelijker.:confused:
 
Laatst bewerkt:
Hoi Stefano,

Stel je kolom Cancelled staat ik kolom K. Maak ik cel K1 een knop met daarin de tekst Filter of Verwijder of zoiets, maak de achtergrond grijs en zet er een zwart kader omheen. Je hebt nu een 'knop' gemaakt.

Ga naar de programma-editor (VBA) door rechtermuisknop te klikken op het tabblad en kies programmacode weergeven.

Zet hier de volgende code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("K1")) Is Nothing Then
For i = 5 To 99
If Cells(i, 11) Then Rows(i).Delete
Next i
End If
End Sub
Cells(i,11) slaat natuurlijk op Kolom K (=11)
5 is de eerste rij die eventueel gewist moet worden, 99 de laatste rij.

De macro start als je of met de pijltjes toetsen in K1 komt of met de cursor op K1 drukt.

Suc6

Jeroen
 
variabele definieren

Jeroen

ik krijg de foutmelding : compileerfout : een variabele is niet gedefinieerd.
 
Hoi Stefano,

Waarschijnlijk staat er bovenaan in je programmacode Option Explicit.

Voeg onder Private Sub toe:
Dim i as integer

Jeroen
 
klopt, en dan nog eentje

Jeroen, dank voor de hulp, nu werkt het prima.

Ik dacht echter dat de code me zou toelaten ook andere criteria in te voegen, maar dat is niet zo, denk ik.

In jouw code worden alle rijen die waarde 'WAAR' hebben verwijderd. Hoe dat geselekteerd wordt in de kode weet ik niet.

Om dan verder te gaan zou ik in een andere kolom (van hetzelfde blad) de lege cellen willen overhouden. Heb je daar ook een code voor ?

Dank je !!!
 
Hoi Stefano,

Eerst de vragen over de vorige code:
If Cells(i, 11) Then Rows(i).Delete

De code loopt gewoon de regels 5 t/m 99 na. In Cells(i,11) (kolom K) staat waar of niet waar. Als Cells(i,11) waar is dan wordt de regel verwijderd.

Datzelfde kun je dus ook doen voor niet lege cellen:
If Cells(i, 11) Or not isempty(Cells(i,12)) Then Rows(i).Delete
Maar let op met deze code:
Formules met als uitkomst "" lijken leeg, maar zijn dat niet!

Jeroen
 
Jeroen, en in ander bestand ?

Jeroen, wat ik vergeten was is het volgende :

Het verwijderen van de rijen met criterium "waar" is hierboven besproken. Daarvoor heb je me de code gegeven en het werkt prima.

Wat ik vergeten melden was : Hoe kan ik die code toepassen vanuit bestand x op waarden in bestand y ?

Dank bij voorbaat
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan