Cómo eliminar cada dos filas en Excel 2007

Cómo eliminar cada dos filas en Excel 2007

Tengo una hoja de cálculo que está ordenada por una identificación y una celda calculada. Ordeno la hoja por identificación y celda calculada, lo que me da pares de filas relacionadas. Simplemente quiero eliminar la segunda fila de cada par en toda la hoja. Normalmente hay alrededor de 3000 filas.

¿Existe una manera sencilla de eliminar o mover la segunda fila a otra hoja?

Respuesta1

No es una respuesta de programación ya que dijiste que no estabas familiarizado con VBA en Excel, pero si es única, hazlo en Excel:

  1. Agregar una nueva columna (digamos A)
  2. Establezca la primera fila (A1) enTrue
  3. Establezca la fila A2 en=NOT(A1)
  4. Luego arrastre la fila A2 hacia todas sus filas.

Luego aplique un filtro automático donde Aestá la columna false, seleccione todas las filas devueltas y elimínelas, y luego elimine el filtro.

Respuesta2

Si se trata de una tarea única, utilice la respuesta de Seph. Si es necesario repetirlo, use VBA, así:

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

Asegúrate de hacer una copia de seguridad antes de ejecutarcualquiermacro en su hoja. ¡Las macros no usan Deshacer!

información relacionada