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

macro om in te stellen rijen te verwijderen

Status
Niet open voor verdere reacties.

Dawood

Gebruiker
Lid geworden
21 mei 2006
Berichten
24
Goeieavond ,

Ik ben de hele middag al op zoek en aan het prutsen
om in een werkblad van 44645 rijen bepaalde rijen
automatisch te laten verwijderen met een macro.

eigenlijk wil ik telkens 30 tussen liggende rijen verwijderen
in het bereik A6 tm A44645 dus:

te verwijderen: A7:N35
,A37:N65
,A67:N95
,A97:N125
,A127:N155
,A157:N185
enzovoort tot aan A44645

Het beste natuurlijk in een keer selecteren en dan deleten .. maar ik weet niet hoe !?
Punt is dat die data telkens weer vernieuwd word.. en het daarna weer verwijderd moet worden. omdat ik er een grafiek van maak

ik hoop dat er een oplossing voor is,

alvast bedankt,

Wouter
 
Probeer dit eens:

Code:
Sub l()
    
    Const lRij As Long = 44700
    
    Dim iTeller As Integer
    
    Application.ScreenUpdating = False
    
    For l = 6 To 44645 Step 30
        
        iTeller = iTeller + 1
        Range("A" & l, "N" & l).Cut Range("A" & lRij + iTeller)
    
    Next

    Range("A6:A" & lRij).EntireRow.Delete
    
    Application.ScreenUpdating = True
    
End Sub

Het is vooral zaak te vermijden dat je veel keer moet verwijderen. Hier wordt alles in 1 keer verwijderd. Op voorhand worden wel gewenste gegevens ertussen uit geknipt naar beneden.

ongeteste code

Wigi
 
Sorry voor de late reactie...

De macro werkt helaas niet, melding:

Compileerfout: Er word een Function of variabele verwacht

en de cursor in de macro springt naar de I in deze regel:

For l = 6 To 44645 Step 30

Ik heb een testblaadje toegevoegt waarin ik het heb geprobeerd,
Moest alleen de onderste helft van het bereik verwijderen
ivm max upload grootte.

Goreten Wouter
 

Bijlagen

je mist nog een declaratie:
Code:
Dim l As Long
als je die bijv. onder die ander Dim regel zet werkt het.
Heb je trouwens geen beter criterium? Kan je de te verwijderen rijen niet herkennen aan celinhoud oid? Dat zou fraaier zijn,maar goed, dit werkt zo.
 
Als het om rijen gaat waarin de cel van kolom A leeg is kan het met

Code:
Sub weg()
 columns(1).specialcells(xlcelltypeblanks).entirerow.delete
End Sub
en anders met

Code:
Sub verwijder()
    For j = 447000 To 7 Step -30
        Range(Cells(j - 28, 1), Cells(j, 1)).EntireRow.Delete
    Next
End Sub
 
Laatst bewerkt:
Bedankt Modbeek, met jouw aanpassing werkt de Macro van Wigi
perfect, ik heb geen ander criterium, het zijn elke keer de zelfde rijen
die verwijderd moeten worden waarvan de cellen elke keer weer andere data
bevatten.

@ snb ik ga jouw tweede code ook even proberen al denk ik dat Wigi een
punt heeft met;

"Het is vooral zaak te vermijden dat je veel keer moet verwijderen. Hier wordt alles in 1 keer verwijderd. Op voorhand worden wel gewenste gegevens ertussen uit geknipt naar beneden."

Ik zal even proberen wat qua snelheid het beste werkt.

Bedankt! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan