Como excluir todas as outras linhas no Excel 2007

1

Eu tenho uma planilha ordenada por um id e uma célula calculada. Eu classifico a folha pelo id e a célula calculada, dando-me assim pares de linhas relacionadas. Eu simplesmente quero apagar a segunda linha de cada par na folha inteira. Existem tipicamente cerca de 3000 linhas.

Existe uma maneira fácil de excluir ou mover a segunda linha para outra planilha?

    
por Peter Mortensen 09.01.2013 / 04:53

2 respostas

5

Não é uma resposta de programação, já que você disse que não estava familiarizado com o VBA no Excel, mas se for um item único, faça isso no Excel:

  1. Adicione uma nova coluna (digamos A)
  2. Defina a primeira linha (A1) para True
  3. Defina a linha A2 como =NOT(A1)
  4. Em seguida, arraste a linha A2 para todas as suas linhas.

Em seguida, aplique um filtro automático em que a coluna A seja false , selecione todas as linhas retornadas, exclua-as e remova o filtro.

    
por 09.01.2013 / 05:22
0

Se esta for uma tarefa única, use a resposta de Seph. Se precisar ser repetido, use o VBA, assim:

Sub DemoDeleteAlternateRows()
    Dim iRow As Long, LastRow As Long
    Dim sh As Worksheet
    Set sh = ActiveSheet ' <-- Maybe change this to refer to a specific sheet
    Application.FindFormat.Clear ' Just in case Find was last used with a Format
    LastRow = sh.Cells.Find(What:="*", After:=sh.Cells(1, 1), _
      SearchDirection:=xlPrevious, SearchOrder:=xlByRows, SearchFormat:=False).Row
    For iRow = LastRow To 1 Step -1
        ' Delete even numberede rows (to delete odd numbered
        ' rows, instead use  If iRow Mod 2 = 1 Then).
        If iRow Mod 2 = 0 Then
            sh.Rows(iRow).Delete
        End If
    Next
End Sub

Certifique-se de fazer o backup antes de executar qualquer macro em sua planilha. Macros não usam Desfazer!

    
por 09.01.2013 / 06:30