Elke rij in een Excel-werkblad verwijderen

Samenvatting

Dit artikel bevat een voorbeeld van een Microsoft Visual Basic for Applications-macro die u kunt gebruiken om elke rij in een geselecteerd bereik op een Microsoft Excel-werkblad te verwijderen.

Meer informatie

Microsoft verstrekt deze code zonder enige expliciete of impliciete garantie, daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. U kunt desgewenst contact opnemen met Microsoft Product Support Services voor uitleg over de functie van een bepaalde procedure. Microsoft Product Support Services is echter niet bereid de voorbeelden aan te passen om extra functies toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen. Als u de volgende macro wilt gebruiken, stelt u als volgt een Excel-werkmap in:

  1. Een nieuwe Microsoft Excel-werkmap maken.

  2. Typ in een nieuw werkblad in het bereik A1:A9 de getallen 1 tot en met 5, waarbij u rijen overslaat, zoals in het volgende voorbeeld:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. Wijs in het menu Extra de optie Macro aan en klik vervolgens op Visual Basic Editor.

    Opmerking Klik in Microsoft Office Excel 2007 en latere versies op Visual Basic in de groep Code op het tabblad Ontwikkelaars .

  4. Klik op Module in het menu Invoegen.

  5. Typ in de nieuwe module de volgende macro:

Sub Delete_Every_Other_Row()

' Dimension variables.
   Y = False              ' Change this to True if you want to
                          ' delete rows 1, 3, 5, and so on.
   I = 1
   Set xRng = Selection

' Loop once for every row in the selection.
   For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
       If Y = True Then

' ...delete an entire row of cells.
           xRng.Cells(I).EntireRow.Delete

' Otherwise...
       Else

' ...increment I by one so we can cycle through range.
           I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
       Y = Not Y

Next xCounter

End Sub
  1. Ga naar het werkblad met de gegevens en selecteer het bereik A1:A9.

  2. Als u de macro wilt uitvoeren, wijst u Macro aan in het menu Extra en klikt u op Macro's.

    Opmerking

    • Klik in Excel 2007 en latere versies op Macro's in de groep Code op het tabblad Ontwikkelaars .
    • Als u het tabblad Ontwikkelaars op het lint wilt weergeven, klikt u op de Microsoft Office-knop, klikt u op Opties voor Excel, klikt u op de categorie Populair, schakelt u het selectievakje Tabblad Ontwikkelaars op het lint weergeven in en klikt u vervolgens op OK.
  3. Selecteer de macro Delete_Every_Other_Row en klik op Uitvoeren.

Met deze macro wordt elke andere rij verwijderd, te beginnen met de tweede rij van de selectie.

Opmerking

Als u een lijst met gegevens hebt die meerdere kolommen bevat, selecteert u alleen de eerste kolom met gegevens en voert u vervolgens de macro uit.