



Podemos eliminar filas pares o impares en Excel sobre los datos de nuestra hoja.
- FILAS PARES
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub EliminaPar()
ActiveSheet.Range("A1:A5000").Select
Y = False
I = 1Set xRng = Selection
For xCounter = 1 To xRng.Rows.CountIf Y = True Then
xRng.Cells(I).EntireRow.Delete
Else
I = I + 1
End If
Y = Not YNext xCounter
End Sub
- ActiveSheet.Range("A1:A5000").Select Indica el rango de filas que eliminará A1:A5000.
- Y = False. Indica el rango de filas pares.
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

- FILAS IMPARES
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub EliminaImpar()
ActiveSheet.Range("A1:A5000").Select
Y = True
I = 1Set xRng = Selection
For xCounter = 1 To xRng.Rows.CountIf Y = True Then
xRng.Cells(I).EntireRow.Delete
Else
I = I + 1
End If
Y = Not YNext xCounter
End Sub
- ActiveSheet.Range("A1:A5000").Select Indica el rango de filas que eliminará A1:A5000.
- Y = True. Indica el rango de filas impares.
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

- FILAS PARES/IMPARES CON AVISOS
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Sub EliminaParImpar()
pre = MsgBox("¿Deseas Eliminar las filas PARES?" & vbCrLf & vbCrLf & vbCrLf & "SI para filas PARES" & vbCrLf & "NO para filasIMPARES", vbQuestion + vbYesNoCancel, "Pregunta")
If pre = vbYes Then
ActiveSheet.Range("A1:A5000").SelectY = False
I = 1
Set xRng = Selection
For xCounter = 1 To >7span>xRng.Rows.CountIf Y = True Then
xRng.Cells(I).EntireRow.Delete
Else
I = I + 1
End If
Y = Not YNext xCounter
ActiveSheet.Range("A1").Select
x = MsgBox("¡ Filas PARES ELIMINADAS !", vbCritical + vbOKOnly, "Aviso")
Else
If pre = vbNo Then
ActiveSheet.Range("A1:A5000").SelectY = True
I = 1
Set xRng = Selection
For xCounter = 1 To xRng.Rows.CountIf Y = True Then
xRng.Cells(I).EntireRow.Delete
Else
I = I + 1
End If
Y = Not YNext xCounter
ActiveSheet.Range("A1").Select
x = MsgBox("¡ Filas IMPARES ELIMINADAS !", vbCritical + vbOKOnly, "Aviso")
Else
If pre = vbCancel Then
End If
End If
End If
End Sub- ActiveSheet.Range("A1:A5000").Select Indica el rango de filas que eliminará A1:A5000, permita eliminar filas pares o impares.
- Y = False. Indica el rango de filas pares.
- Y = True. Indica el rango de filas impares.
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.
Verificar como la macro nos permite eliminar las filas pares o impares.
Así podemos disponer de una macro que permita eliminar filas pares o impares en Excel.

Muchas gracias por su ayuda
siempre lo hacía de manera manual
Hola Trucos y Cursos
Muchas gracias por tus aportaciones. Encuentro estas macros muy interesantes.
Yo empleo Excel 2013 y me he creado las tres para probar pero todas me dan error de compilación y no se ejecutan.
¿Ha habido alguna variación en el código de las mismas?
Muchas gracias!
Hola David,
Asegúrate de que está escrito igual (si copias el código escribe las dobles comillas).
Saludos.
Hola que tal... luego de copiar y pegar el codigo... doy guardar y que deberia pasar? por que mi documento sigue igual . Gracias
Hola Jose,
Pues si ejecutas la macro deseada, reproducirá el proceso.
Saludos.
Hola, Utilizo Excel 2019 y da error.
"For xCounter = 1 To >7span>xRng.Rows.Count"
Dice error de compilación: error de sintaxis.
Está copiado y pegado tal cual, incluye todas las dobles comillas.
¿Cömo podría resolverlo?
Muchas gracias.
Hola Verónica,
Reemplaza las dobles comillas copiadas y escríbelas directamente, el html de las web da un tratamiento especial a las comillas que no son reconocidas.
Saludos.