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

Opeen volgende rijeen verwijderen indien celwaarde is 0

Status
Niet open voor verdere reacties.

youdeni

Gebruiker
Lid geworden
28 feb 2008
Berichten
147
Beste mensen,

In een bestand wil ik een hele rij verwijderen indien de waarde van een cel 0 is. Nu heb ik onderstaande code gevonden. Dit werkt op zich prima.
Alleen als twee opeenvolgende rijen beide de waarde 0 hebben wordt alleen de eerste rij die hij tegenkomt verwijdert.

In het bestand kan het dus voorkomen dat meerdere opeenvolgende rijen een celwaarde met 0 bevat. Hoe kan ik dit ondervangen?

Code:
Public Sub pfDelRowsversie2()

totalrows = ActiveSheet.UsedRange.Rows.Count

For Row = 1 To totalrows
     If Cells(Row, 4).Value = 0 Then
    Rows(Row).Delete
    End If
Next Row

End Sub
 
Zoals Cobbe al aangaf moet je rijen verwijderen van onder naar boven, net om het probleem dat er rijen overgeslagen worden te vermijden.
Code:
Public Sub pfDelRowsversie2()
    With ActiveSheet
        For Row = .UsedRange.Rows.Count To 1 Step -1
            If .Cells(Row, 4).Value = 0 Then .Rows(Row).Delete xlUp
        Next Row
    End With
End Sub
 
Voor het verwijderden van rijen kan je ook het autofilter gebruiken.

Voor als de gegevens in het eerste blad staan en beginnen in A1

Code:
Sub VenA()
With Sheets(1).Cells(1).CurrentRegion
    .AutoFilter 4, "0"
    .Offset(1).EntireRow.Delete
    .AutoFilter
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan