Como excluir linhas em branco no vba (com exemplos)


Você pode usar os seguintes métodos em VBA para remover linhas em branco:

Método 1: remover linhas em branco em um intervalo específico

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

Esta macro específica removerá todas as linhas em branco do intervalo A1:B10 de Sheet1 .

Método 2: excluir linhas em branco da planilha inteira

 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

Esta macro específica excluirá todas as linhas em branco de toda a planilha ativa.

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: Remover linhas em branco em um intervalo específico

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Podemos criar a seguinte macro para remover todas as linhas em branco do intervalo A1:B10 nesta planilha:

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

Depois de executar esta macro, receberemos a seguinte saída:

Observe que todas as linhas em branco foram removidas do intervalo que especificamos.

Exemplo 2: Excluir linhas em branco em uma planilha inteira

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Podemos criar a seguinte macro para remover todas as linhas em branco de toda a planilha:

 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

Depois de executar esta macro, receberemos a seguinte saída:

Observe que todas as linhas em branco foram removidas de toda a planilha.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como excluir linhas com base no valor da célula
VBA: Como deletar uma planilha se o nome contiver texto específico
VBA: como excluir arquivos

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *