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

Hulp bij rijen verwijderen

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
862
Ik wil in een bestand, zie bijlage, de rijen verwijderen die in kolom B het jaartal 2017 bevatten. Ik gebruik onderstaande macro, maar krijg een overflow error 6.

Bovendien vraag ik me af of deze macro item 2017 wel zal vinden gezien de datum in kolom B via een formule bekomen wordt.

Dank alvast voor de hulp,

Stefano

Code:
Sub Verwijderen()

Dim i As Integer
Dim y As Integer

i = ActiveSheet.UsedRange.Rows.Count

For y = i To 1 Step -1
    If Cells(y, 2).Value = "2017" Then
       Cells(y, 2).EntireRow.Delete
    End If
Next
[ATTACH]307279.vB[/ATTACH]
End Sub
 

Bijlagen

  • Verwijderen.xlsm
    877,5 KB · Weergaven: 43
Of zo:
Code:
Sub Verwijderen()
    Dim c As Range
    Dim rngB As Range
    For Each c In Intersect(ActiveSheet.UsedRange, Columns("B"))
        If c = "2008" Then
            If rngB Is Nothing Then Set rngB = c.EntireRow
            Set rngB = Union(rngB, c.EntireRow)
        End If
    Next c
    rngB.Delete
End Sub

Dat gaat met een dergelijk aantal rijen vele malen sneller.

N.B.:
Die overflow error komt inderdaad, zoals Emil al zegt doordat je i en y als integer declareert.
In een integer kan een getal van maximaal 32767 en daar zit je met het totaal aantal rijen boven.
In een Long kan een veel groter getal.
 
Laatst bewerkt:
Ik had een code geprobeerd die hier eerder stond en ondertussen verdwenen is, maar die nam echt wel heel veel tijd in beslag.

Daarna heb ik de code van ed geprobeerd en die werkt vliegensvlug.

dank allen voor de hulp!
 
Ik had 'm om die reden inderdaad gewijzigd ;)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan