Este post le guiará cómo eliminar cada otra fila mediante el comando de filtro en Excel. Cómo eliminar cada otra fila en un rango seleccionado en una hoja de trabajo por Excel VBA Macro.
Eliminar cada otra fila con el comando de filtro
Para eliminar cada otra fila en Excel, necesita filtrar filas alternas, y luego seleccionar esas filas, y eliminarlas de una vez. Así que necesitas crear una columna de ayuda utilizando la función MOD con la función ROW, sólo tienes que hacer los siguientes pasos:
#1 escribe la fórmula =MOD(ROW(),2) en una celda junto a tus datos originales, y pulsa la tecla enter, luego arrastra el manejador de autorelleno sobre otras celdas para generar números 0,1 en cada celda.
#2 selecciona la columna de ayuda, ve a la pestaña DATA, haz clic en el comando Filter bajo el grupo Sort & Filter. Las flechas de filtro desplegables aparecerán en las celdas de la cabecera.
#3 haga clic en la flecha de filtro de la columna de ayuda, y seleccione la casilla 0 de la lista desplegable de filtro.
#4 verá que todas las filas «1» están ocultas, seleccione todas las filas «0» visibles, luego haga clic con el botón derecho del ratón en el rango de selección, y haga clic en Eliminar fila.
#5 se eliminan todas las filas con valores «0». A continuación, haga clic en el botón Filtro de nuevo en la columna de ayuda para eliminar el autofiltro.
#6 puede eliminar la columna de ayuda.
Borrar una de cada dos filas con VBA
También puede utilizar una macro VBA de Excel para borrar una de cada dos filas. Haga los siguientes pasos:
#1 haga clic en el comando «Visual Basic» en la pestaña DESARROLLADOR.
#2 entonces aparecerá la ventana «Editor de Visual Basic».
#3 haga clic en «Insertar» ->»Módulo» para crear un nuevo módulo.
#4 pegue el siguiente código VBA en la ventana de código. A continuación, haga clic en el botón «Guardar».
Sub DeleteEveryOtherRow() Dim r As Range Dim IR As Range Set IR = Application.Selection Set IR = Application.InputBox("Select one Range :", "Delete Every Other Row", IR.Address, Type:=8) Application.ScreenUpdating = False For i = IR.Rows.Count To 1 Step -2 Set r = IR.Cells(i, 1) r.EntireRow.Delete Next Application.ScreenUpdating = TrueEnd Sub
#5 volver a la hoja de trabajo actual, a continuación, ejecute la macro excel anterior. Haga clic en el botón Ejecutar.
#6 Seleccione un rango que desea eliminar cada dos filas.
#7 veamos el resultado.
Funciones relacionadas
- Función ROW de Excel
La función ROW de Excel devuelve el número de fila de una celda de referencia.La sintaxis de la función ROW es la siguiente: = ROW ()…. - Función MOD de Excel
La función MOD de Excel devuelve el resto de dos números después de la división. Así que puedes utilizar la función MOD para obtener el resto después de dividir un número por un divisor en Excel. La sintaxis de la función MOD es la siguiente:=MOD (número, divisor)….