Como eliminar todas as outras linhas numa folha de cálculo do Excel

Resumo

Este artigo contém um exemplo de macro do Microsoft Visual Basic for Applications que pode utilizar para eliminar todas as outras linhas num intervalo selecionado numa folha de cálculo do Microsoft Excel.

Mais Informações

A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às suas necessidades específicas. Para utilizar a seguinte macro, configure um livro do Excel da seguinte forma:

  1. Crie um novo livro do Microsoft Excel.

  2. Numa nova folha de cálculo, no intervalo A1:A9, escreva os números de 1 a 5, ignorando linhas, como no exemplo seguinte:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. No menu Ferramentas, aponte para Macro e, em seguida, clique em Visual Basic Editor.

    Nota No Microsoft Office Excel 2007 e versões posteriores, clique em Visual Basic no grupo Código no separador Programador .

  4. No menu Inserir, clique em Módulo.

  5. No novo módulo, escreva a seguinte 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. Mude para a folha de cálculo que contém os dados e, em seguida, selecione o intervalo A1:A9.

  2. Para executar a macro, aponte para Macro no menu Ferramentas e, em seguida, clique em Macros.

    Nota

    • No Excel 2007 e versões posteriores, clique em Macros no grupo Código no separador Programador .
    • Para apresentar o separador Programador no Friso, clique no Botão do Microsoft Office, clique em Opções do Excel, clique na categoria Popular, clique para selecionar a caixa de verificação Mostrar separador Programador no Friso e, em seguida, clique em OK.
  3. Selecione a macro Delete_Every_Other_Row e, em seguida, clique em Executar.

Esta macro irá eliminar todas as outras linhas, começando pela segunda linha da seleção.

Nota

Se tiver uma lista de dados que contém múltiplas colunas, selecione apenas a primeira coluna de dados e, em seguida, execute a macro.