Hoe lege regels in vba te verwijderen (met voorbeelden)


U kunt de volgende methoden in VBA gebruiken om lege regels te verwijderen:

Methode 1: lege rijen in een specifiek bereik verwijderen

 Sub DeleteEmptyRowsInRange()
    Sheets(" Sheet1 ").Select
    Range(" A1:B10 ").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Deze specifieke macro verwijdert alle lege rijen uit het bereik A1:B10 van Sheet1 .

Methode 2: lege rijen in het hele blad verwijderen

 Sub DeleteEmptyRowsInSheet()
  
   'turn off screen updating for faster performance
    Application.ScreenUpdating = False
  
    Dim i As Long

    With ActiveSheet

    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            ActiveSheet.Rows(i).Delete
       End If
    Next

    End With
  
    'turn screen updating back on
    Application.ScreenUpdating = True
  
End Sub

Deze specifieke macro verwijdert alle lege rijen van het gehele actieve blad.

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.

Voorbeeld 1: Verwijder lege regels in een specifiek bereik

Stel dat we de volgende gegevensset in Excel hebben die informatie bevat over verschillende basketbalspelers:

We kunnen de volgende macro maken om alle lege regels uit het bereik A1:B10 op dit blad te verwijderen:

 Sub DeleteEmptyRowsInRange()
    Sheets(" Sheet1 ").Select
    Range(" A1:B10 ").Select
    Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Zodra we deze macro uitvoeren, ontvangen we de volgende uitvoer:

Houd er rekening mee dat alle lege regels zijn verwijderd uit het bereik dat we hebben opgegeven.

Voorbeeld 2: lege rijen in een heel blad verwijderen

Stel dat we de volgende gegevensset in Excel hebben die informatie bevat over verschillende basketbalspelers:

We kunnen de volgende macro maken om alle lege regels van het hele blad te verwijderen:

 Sub DeleteEmptyRowsInSheet()
  
   'turn off screen updating for faster performance
    Application.ScreenUpdating = False
  
    Dim i As Long

    With ActiveSheet

    For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            ActiveSheet.Rows(i).Delete
       End If
    Next

    End With
  
    'turn screen updating back on
    Application.ScreenUpdating = True
  
End Sub

Zodra we deze macro uitvoeren, ontvangen we de volgende uitvoer:

Houd er rekening mee dat alle lege regels van het hele blad zijn verwijderd.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:

VBA: rijen verwijderen op basis van celwaarde
VBA: een blad verwijderen als de naam specifieke tekst bevat
VBA: hoe bestanden verwijderen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert