Como excluir todas as outras linhas no Excel 2007

1

Eu tenho uma planilha que é 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 folha?

Peter Mortensen
fonte

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. Definir a primeira linha (A1) para True
  3. Definir linha A2 para =NOT(A1)
  4. Em seguida, arraste a linha A2 para todas as suas linhas.

Em seguida, aplique um filtro automático onde coluna A é false, selecione todas as linhas retornadas, exclua-as e remova o filtro.

Seph
fonte
Perfeito! sim, eu estava apenas procurando por uma solução simples. Muito obrigado pela sua ajuda! Melhor, John .....
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 backup antes de executar qualquer macro na sua folha. As macros não usam Desfazer!

chris neilsen
fonte