Note: The other languages of the website are Google-translated. Back to English

¿Cómo eliminar filas según el valor de la celda en Excel?

Para eliminar o eliminar rápidamente varias filas según el valor de la celda en Excel, es posible que primero deba seleccionar esas filas completas que contienen un valor de celda específico y luego ir a eliminarlas. Parece que no hay una forma rápida de eliminar filas según el valor de la celda, pero usando el código VBA. Aquí hay algunos trucos rápidos que le ayudarán.


Eliminar filas según el valor de la celda con la función Buscar y reemplazar

En Excel, puede aplicar la potente función Buscar y reemplazar para eliminar fácilmente filas basadas en un determinado valor de celda. Haz lo siguiente:

1. Seleccione el rango donde eliminará las filas en función de cierto valor de celda y abra el cuadro de diálogo Buscar y reemplazar presionando la tecla Ctrl + F llaves al mismo tiempo

2. En el cuadro de diálogo Buscar y reemplazar, escriba el valor de celda determinado (en nuestro caso, ingresamos el Soe) en el Find what caja, y haga clic en Find All botón. Vea la primera captura de pantalla a continuación:

3. Seleccione todos los resultados de búsqueda en la parte inferior del cuadro de diálogo Buscar y reemplazar y cierre este cuadro de diálogo. (Nota:: Puede seleccionar uno de los resultados de la búsqueda y luego Ctrl + A teclas para seleccionar todos los resultados encontrados. Vea la segunda captura de pantalla anterior).
Y luego puede ver que todas las celdas que contienen cierto valor están seleccionadas.

4. Continúe para hacer clic derecho en las celdas seleccionadas y seleccione el Delete desde el menú contextual. Y luego revisa el Entire row en el cuadro de diálogo emergente Eliminar y haga clic en OK botón. Ahora verá que se eliminan todas las celdas que contienen cierto valor. Vea las capturas de pantalla a continuación:

Y luego se han eliminado filas enteras en función del valor determinado.


Eliminar filas según el valor de la celda con código VBA

Con el siguiente código VBA, puede eliminar rápidamente las filas con cierto valor de celda, siga los siguientes pasos:

1. presione el Alt + F11 llaves al mismo tiempo para abrir Microsoft Visual Basic for applications ventana,

2. Hacer clic Insert > Modulee ingrese el siguiente código en el módulo:

VBA: elimine filas enteras según el valor de la celda

Sub DeleteRows()
'Updateby20211217
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
Dim xTitleId As String
Dim xArr
Dim xF As Integer
Dim xWSh As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, rng.Address, Type:=8)
If InputRng Is Nothing Then Exit Sub
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
Set xWSh = InputRng.Worksheet
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
            Set DeleteRng = DeleteRng.EntireRow
        End If
    End If
Next
xArr = Split(DeleteRng.AddressLocal, ",")
DeleteRng.Select
DeleteRng.Delete
For xF = UBound(xArr) To 0 Step -1
    Set DeleteRng = xWSh.Range(xArr(xF))
    DeleteRng.Delete
Next
End Sub

3. Luego haz clic en Run botón para ejecutar el código.

4. En el cuadro de diálogo emergente, seleccione el rango en el que eliminará las filas según el valor determinado y haga clic en el OK

5. En otro cuadro de diálogo, escriba el valor determinado en el que eliminará las filas y haga clic en OK botón. Ver captura de pantalla:

Y luego verá que se han eliminado filas enteras en función del valor especificado.


Elimine filas basadas en uno o dos valores de celda con Kutools para Excel

Si tienes instalado Kutools for Excel, su Select Specific Cells La función puede ayudarlo a eliminar rápidamente las filas con un valor específico. Haz lo siguiente:

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Consíguelo ahora

1. Seleccione el rango en el que eliminará las filas según el valor determinado y haga clic en Kutools > Select > Select Specific Cells. Ver captura de pantalla:

2. En el cuadro de diálogo de apertura Seleccionar celdas especificadas, verifique Entire row opción, seleccionar Contains de Specific type lista desplegable, ingrese el valor especificado en el cuadro de la derecha y haga clic en el Ok botón (Ver captura de pantalla anterior).
Después de aplicar esta función, aparecerá un cuadro de diálogo que le mostrará cuántas celdas se han encontrado según los criterios especificados. Haga clic en el OK para cerrarlo

3. Ahora se seleccionan filas enteras con cierto valor. Haga clic con el botón derecho en las filas seleccionadas y haga clic en el Delete desde el menú contextual. Vea la captura de pantalla a continuación:

Nota:: Este Select Specific Cells La función admite eliminar filas por uno o dos valores determinados. Para eliminar filas basadas en dos valores especificados, especifique otro valor en el Specific type sección del cuadro de diálogo Seleccionar celdas específicas como se muestra en la siguiente captura de pantalla:

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Consíguelo ahora


Elimine filas basadas en múltiples valores de celda con Kutools para Excel

En algunos casos, es posible que deba eliminar filas basadas en múltiples valores de celda de otra columna / lista en Excel. Aquí les presentaré Kutools for Excel's Select Same & Different Cells función para resolverlo rápidamente con facilidad.

Kutools for Excel - Incluye más de 300 herramientas útiles para Excel. Prueba gratuita de funciones completas 30-día, no se requiere tarjeta de crédito! Consíguelo ahora

1. Hacer clic Kutools > Select > Select Same & Different Cells para abrir el cuadro de diálogo Seleccionar celdas iguales y diferentes.

2. En la apertura Select Same & Different Cells cuadro de diálogo, haga lo siguiente (ver captura de pantalla):

(1) En el Find values in cuadro, seleccione la columna donde encontrará los valores determinados;
(2) En el According to cuadro, seleccione la columna / lista con varios valores en los que eliminará las filas;
(3) En el Based on sección, consulte la Each row opción;
(4) En el Find sección, consulte la Same Values opción;
(5) Compruebe la Select entire rows en la parte inferior del cuadro de diálogo de apertura.
Nota:: Si dos columnas especificadas contienen el mismo encabezado, marque la casilla My data has headers .

3. Haga clic en Ok para aplicar esta utilidad. Y luego aparece un cuadro de diálogo que muestra cuántas filas se han seleccionado. Simplemente haga clic en el OK para cerrarlo

Y luego se han seleccionado todas las filas que contienen valores entre la lista especificada.

4. Hacer clic Home > Delete > Delete Sheet Rows para eliminar todas las filas seleccionadas.


Demostración: elimine filas basadas en uno o varios valores de celda en Excel


Kutools for Excel incluye más de 300 útiles herramientas para Excel, gratis para probar sin limitación en 30 días. Descarga y prueba gratis ahora!

Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (39)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
¡Fantástico! Eso funcionó de maravilla, lo modifiqué ligeramente para adaptarlo a lo que necesitaba, pero pura genialidad. Oh versión VBA.
Este comentario fue minimizado por el moderador en el sitio
¿Alguna forma de modificar If (cell.Value) = "Apple" para incluir múltiples valores?
Este comentario fue minimizado por el moderador en el sitio
Bobby, prueba esto, debería obtener lo que deseas: If (cell.Value) = "Apple" OR (cell.Value) = "Monday"
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna forma de que el valor reconozca un valor, ya sea> o = a un cierto valor?
Este comentario fue minimizado por el moderador en el sitio
Oye, muchas gracias por el guión. Me preguntaba si puede usar comodines para que pueda seleccionar cualquier cosa dentro de una celda que coincida en lugar de un elemento específico. He intentado usar comodines ** pero parece que no hace nada. Esto es lo que tengo: Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("B6:B20"), ActiveSheet.UsedRange) For Each cell In rng If cell.Value Like "*WORDTODELETE*" _ Entonces, si del no es nada, establezca del = celda. De lo contrario: establezca del = unión (del.celda).
Este comentario fue minimizado por el moderador en el sitio
Gracias de corazón: siempre es divertido cuando el tipo de marketing intenta escribir código, y esta información fue muy útil. No pude obtener el código para abarcar varias columnas ("AA2: AA3000" funciona, "AB2: AB3000" funciona, pero "AA2: AB3000" no funciona. No hay Kaboom trascendental, simplemente no hace nada. I Lo resolví (de forma amateur, supongo) ejecutando varias macros en secuencia, pero probablemente haya una forma más elegante. Gracias de nuevo por tu ayuda, Jim (Melville, NY)
Este comentario fue minimizado por el moderador en el sitio
Obtengo: error de tiempo de ejecución '13': error de coincidencia de tipo La depuración resalta la sección If (cell.Value) = "FALSE" _ Then. Estoy totalmente perdido en MVB, cualquier ayuda sería apreciada.
Este comentario fue minimizado por el moderador en el sitio
Digamos que puse el siguiente código para eliminar todas mis filas que contienen manzana, pero luego quiero que continúe una vez que haya terminado y elimine todas las filas que contienen banana. Intenté simplemente duplicar el código, pero parece detenerse después de Apple. Gracias. Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) For Each cell In rng If (cell.Value) = "Apple" _ Entonces, si del no es nada, entonces establezca del = celda. De lo contrario: establezca del = unión (del, celda) End If End If Next cell On Error Reanudar siguiente del.EntireRow.Delete End Sub
Este comentario fue minimizado por el moderador en el sitio
Solo quería decirte, gracias. Esto funcionó a las mil maravillas.
Este comentario fue minimizado por el moderador en el sitio
¡Definitivamente increíble! Gracias por compartir!!!
Este comentario fue minimizado por el moderador en el sitio
¡Gracias, esto es genial! Comentario rápido, probé la función de buscar y reemplazar en Excel 2010. Para seleccionar todos los resultados encontrados, tuve que usar Ctrl + A en lugar de Alt + A.
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿cuál es la forma más fácil de eliminar filas que NO contienen "Apple", por favor? Gracias
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿alguna forma de escribirlo para eliminar una fila, con una excepción OR? Es decir, elimine las filas que están duplicadas, pero ignore un cierto valor. Quiero eliminar los duplicados, excepto cuando la columna en cuestión contiene un espacio en blanco b/c, esa columna aún no tiene datos válidos. Corrí como tú, pero terminé eliminando filas con un espacio en blanco en la columna en cuestión, por lo que no puedo usarlo como está. Gracias
Este comentario fue minimizado por el moderador en el sitio
Gracias por el script de VB. No puedo esperar a probar esto. Pregunta: ¿Hay alguna forma de marcar las columnas para eliminarlas antes de eliminarlas y/o copiarlas en una pestaña separada en el libro de trabajo? Además, ¿hay alguna manera de ejecutar este script en varios libros de trabajo/archivos a la vez?
Este comentario fue minimizado por el moderador en el sitio
gracias.. me ayudo mucho..
Este comentario fue minimizado por el moderador en el sitio
Me gustaría eliminar todas las filas donde column1 = "Apple" AND column3 = "green". ¿por favor?
Este comentario fue minimizado por el moderador en el sitio
No estoy seguro de cómo hacer esto usando macros más o menos, pero una opción que haría bien su trabajo es agregar una columna adicional que pruebe que una columna sea "manzana" y la otra sea "verde" y luego deje da un simple valor de "sí" o "no". que usar cualquiera de las opciones anteriores para buscar el valor "sí" y eliminar filas en función de eso en lugar de 2 valores separados.
Este comentario fue minimizado por el moderador en el sitio
Tengo una lista de tiendas en un documento. Tengo un informe que devuelve miles de líneas. el número de tienda siempre está en la Columna A. ¿Existe un código/macro que buscará en el informe y eliminará todas las columnas con números de tienda de la lista de tiendas? pensando que se necesita un vlookup y "Do While".
Este comentario fue minimizado por el moderador en el sitio
Hola y muchas gracias por el código VBA. Tengo una pregunta. ¿Es posible hacer que el código sea posible elegir varios valores de celda para eliminar al mismo tiempo? Por ejemplo, ¿elegir Apple y Emily al mismo tiempo y eliminarlos? Agradezco su trabajo y espero su respuesta. Juana K.
Este comentario fue minimizado por el moderador en el sitio
¿Cómo puedo especificar el rango A3:D3000 (es decir, no quiero que el usuario seleccione el rango)? ¿Cómo puedo hacer que Delete String sea una referencia de celda, ej. G1?
Este comentario fue minimizado por el moderador en el sitio
¿Es posible comparar dos columnas y luego eliminarlas? está en el rango A3: D3000 si la celda A = x y la celda B = y, ¿entonces eliminar la fila?
Este comentario fue minimizado por el moderador en el sitio
que genial muchas gracias a todos :)
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL