Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

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

Para eliminar o eliminar rápidamente varias filas según el valor de celda en Excel, es posible que deba seleccionar primero las filas enteras que contienen el valor de celda específico y luego 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 para ayudarte.

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

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

Eliminar filas basadas en uno o dos valores de celda

Eliminar filas en función de múltiples valores de celda

¡Seleccione rápidamente toda la fila / columna por cierto valor de celda, y luego elimine la fila / columna seleccionada a gusto!

Kutools for Excel, Select SpecifiC Cells utilidad proporciona a los usuarios de Excel una opción fácil para seleccionar la fila completa o columna completa si los valores de celda coinciden con cierto valor en Excel. ¡Más fácil y más claro para trabajar! Prueba completa de funciones gratuitas 30-day!
seleccione una celda especial para seleccionar columnas completas si contiene cierto valor

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
  • Reutilizar cualquier cosa: Agregue las fórmulas más utilizadas o complejas, gráficos y cualquier otra cosa a sus favoritos, y reutilícelos rápidamente en el futuro.
  • Más de características de texto 20: Extraer número de la cadena de texto; Extraer o eliminar parte de los textos; Convierta números y monedas a palabras en inglés.
  • Herramientas de fusión: Múltiples libros de trabajo y hojas en uno; Fusionar múltiples celdas / filas / columnas sin perder datos; Fusionar filas duplicadas y suma.
  • Herramientas divididas: Dividir datos en varias hojas en función del valor; Un libro de trabajo para múltiples archivos Excel, PDF o CSV; Una columna a varias columnas.
  • Saltar pasta Filas ocultas / filtradas; Cuenta y suma por color de fondo; Enviar correos electrónicos personalizados a múltiples destinatarios a granel.
  • Súper filtro: Cree esquemas de filtro avanzados y aplique a cualquier hoja; Tipo de Propiedad por semana, día, frecuencia y más; Filtrar por negrita, fórmulas, comentario ...
  • Más de potentes funciones de 300; Funciona con Office 2007-2019 y 365; Soporta todos los idiomas; Fácil implementación en su empresa u organización.


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

En Excel, puede aplicar la poderosa función Buscar y Reemplazar para eliminar filas basadas en cierto valor de celda fácilmente. Por favor haz lo siguiente:

1. Seleccione el rango donde eliminará las filas según el valor de celda determinado y abra el cuadro de diálogo Buscar y Reemplazar presionando Ctrl + F llaves al mismo tiempo

2. En el cuadro de diálogo Buscar y reemplazar, ingrese 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 búsqueda, y luego Ctrl + A teclas para seleccionar todos los resultados encontrados. Vea la segunda captura de pantalla de arriba).
Y luego puede ver que todas las celdas que contienen el cierto valor están seleccionadas.

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

Y luego se han eliminado filas enteras basadas en el cierto valor ya.


flecha azul burbuja derecha Eliminar filas según el valor de la celda con el código VBA

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

1. presione el Alt + F11 teclas 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: elimina filas enteras según el valor de celda

Sub DeleteRows()
'Updateby20140314
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
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)
        End If
    End If
Next
DeleteRng.EntireRow.Delete
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 donde eliminará las filas según el valor determinado y haga clic en OK botón.

5. En otro cuadro de diálogo, ingrese el determinado valor sobre 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 basadas en el valor especificado ya.


flecha azul burbuja derecha Eliminar 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. Por favor haz lo siguiente:

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 Seleccionar celdas especificadas, marque Entire row opción, seleccionar Contains Desde Specific type lista desplegable, ingrese el valor especificado en el cuadro de la derecha y haga clic en Ok botón (Ver la captura de pantalla de arriba).
Después de aplicar esta función, aparecerá un cuadro de diálogo que le mostrará cuántas celdas se han encontrado en función de los criterios especificados. Por favor haga clic en OK para cerrarlo

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

Nota: Este Select Specific Cells la característica admite para eliminar filas en 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 a continuación.

Kutools for Excel - Incluye más de útiles herramientas 300 para Excel. Prueba gratuita de funciones completas 30-day, ¡no se requiere tarjeta de crédito! CONSÍGUELO AHORA


flecha azul burbuja derechaEliminar filas basadas en múltiples valores de celda con Kutools para Excel

En algunos casos, es posible que necesite eliminar filas basadas en valores de celdas múltiples de otra columna / lista en Excel. Aquí voy a presentar Kutools for Excel's Select Same & Different Cells característica para resolverlo rápidamente con facilidad.

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

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 valores múltiples en los que eliminará las filas;
(3) En el Based on sección, compruebe el Each row opción;
(4) En el Find sección, compruebe el Same Values opción;
(5) Compruebe la Select entire rows opción en la parte inferior del cuadro de diálogo de apertura.
Nota: Si dos columnas especificadas contienen el mismo encabezado, verifique My data has headers opción.

3. Haga clic en el 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 OK para cerrarlo

Y luego todas las filas que contienen valores entre la lista especificada han sido seleccionadas.

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


flecha azul burbuja derechaDemostración: eliminar filas basadas en uno o múltiples valores de celda en Excel

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

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

  • Reutilizar: Insertar rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita 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 células 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 Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Más de potentes funciones de 300. Admite Office / Excel 2007-2019 y 365. Soporta todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas de prueba gratuita de 30-day.
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

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    kaushal · 2 years ago
    very well. Thank you!
  • To post as a guest, your comment is unpublished.
    Bobby · 2 years ago
    Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st.
    In this case answer should be the last line only....

    Check MenuName ID
    3149 VNLA MILFLLE 2
    3149 TURKEY PNN 0
    3149 R. BEEF PNN 0
    3149 MIX MOCHA 38
    3150 M.G.R 1/2 0
    3150 THE PEPPE L 0
    3150 MIX SLD 0
    3150 EGGPLANT 0
    3150 STILL WATER 7
    3151 MIX MOCHA 38
  • To post as a guest, your comment is unpublished.
    Amar · 2 years ago
    Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
  • To post as a guest, your comment is unpublished.
    Marion · 2 years ago
    Hi everybody,

    I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it.

    So for example, you have the lines:
    - July 3 /Soe
    - Sep 4 / Soe
    - Sep 4 / Soe
    - Oct 19/ Soe
    - Nov 13 / Soe
    - Nov 13 / Soe

    and what I want to keep is:
    - Nov 13 / Soe
    - Nov 13 / Soe

    [i][b]My real case is:[/b][/i] I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher.
    e.g.: I have:
    - EAN 1 / Version 1
    - EAN 1 / Version 1
    - EAN 1 / Version 2
    - EAN 1 / Version 2
    - EAN 2 / Version 2
    - EAN 2 / Version 3
    - EAN 2 / Version 3


    and I want to keep:
    - EAN 1 / Version 2
    - EAN 1 / Version 2
    - EAN 2 / Version 3
    - EAN 2 / Version 3


    I am searching since hours and I am completely blocked on this issue.

    Many thanks in advance for your brain and help.

    Best,

    Marion
  • To post as a guest, your comment is unpublished.
    Aju Thoas · 3 years ago
    Hi,

    Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this.

    Thanks.
  • To post as a guest, your comment is unpublished.
    PC · 3 years ago
    I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted.

    Sub selectonly()
    '
    ' selectonly Macro
    '

    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
    End Sub
  • To post as a guest, your comment is unpublished.
    NEU · 3 years ago
    thank you so much. That save me a lot of time
  • To post as a guest, your comment is unpublished.
    NC Arch · 4 years ago
    Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
  • To post as a guest, your comment is unpublished.
    Clay · 4 years ago
    How can i delete selected cell that i want based on value that i entered for example :
    A1 B1 C1 D1
    A2 B2 C2 D2
    A3 B3 C3 D3
    A4 B4 C4 D4

    When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
  • To post as a guest, your comment is unpublished.
    Milon · 4 years ago
    Great it work thank you so much
  • To post as a guest, your comment is unpublished.
    Moe · 4 years ago
    Hello, many thanks for the code. But say I want to delete one row containing "Apple". And not all of the rows containing it. Let's just say the last one, or a random one, doesn't really matter, just one. Many thanks in advance! :-)
  • To post as a guest, your comment is unpublished.
    Meredith · 4 years ago
    Just what I needed, thanks! :D
  • To post as a guest, your comment is unpublished.
    JonS · 4 years ago
    Is there anyway to have the value recognize a value that has expired, such as. All rows that show an expiration date within a specific column will be automatically removed and then the rows that were deleted will be filled by moving the rows beneath. Filling gaps.
  • To post as a guest, your comment is unpublished.
    angel baby · 4 years ago
    What a great. thank so all so much. :)
  • To post as a guest, your comment is unpublished.
    DavidGough · 4 years ago
    is it possible to compare two columns and then delete? is in range A3:D3000 if cell A=x and cell B=y then delete row?
  • To post as a guest, your comment is unpublished.
    DavidGough · 4 years ago
    How can I specify the range A3:D3000 (ie. I don´t want the user to select the range)? How can I make the Delete String a cell reference, ex. G1?
  • To post as a guest, your comment is unpublished.
    Joan K · 4 years ago
    Hello and thank you very much for the VBA code. I have one question.

    Is it possible to make the code the way that it is possible to choose several cell values to delete at the same time? For example choose Apple and Emily at the same time and delete them?
    I appreciate you work and looking forward to your response.

    Joan K
  • To post as a guest, your comment is unpublished.
    Victor · 5 years ago
    i have a list of stores in one document. I have a report that returns thousand of lines. the store number is always in Column A. Is there a code/macro that will search the report and delete all columns with store numbers from the store list. thinking a vlookup and "Do While" are needed.
  • To post as a guest, your comment is unpublished.
    alex2 · 5 years ago
    I'd like to delete all rows where column1 = "Apple" AND column3 = "green". please?
    • To post as a guest, your comment is unpublished.
      Finidi · 5 years ago
      Im not sure how to do this using macro's or so, but one option that would do its job just fine is to add an extra colum that tests for the one colum to be "apple" and the other to be "green" and then let it give a simple "yes" or "no" value. than use either of the above options to search for the value "yes" and remove rows based on that instead of 2 seperate values.
  • To post as a guest, your comment is unpublished.
    gabz · 5 years ago
    thank.. it helps me a lot...
  • To post as a guest, your comment is unpublished.
    smj2013 · 5 years ago
    Thank you for the VB Script. I can not wait to try this. Question:Is there anyway to mark the columns for deletion prior to deleting them and/or copy to a separate tab in the workbook? In addition is there a way to run this script run on multiple workbooks/files at one time?
  • To post as a guest, your comment is unpublished.
    Leo · 5 years ago
    Hi,
    Any way to write it to delete a row, with an OR exception? I.e- delete rows that are duplicates, but ignore a certain value. I want to delete duplicates, except where the column in question contains a blank b/c that column doesn't have valid data yet. I ran as you have, but I ended deleting rows with a blank in the column in question, so I can't use it as it is.
    Thanks
  • To post as a guest, your comment is unpublished.
    Tee · 5 years ago
    Hi,
    What is the easiest way to delete rows that do NOT contain "Apple" please?

    Thanks
  • To post as a guest, your comment is unpublished.
    Aleardo · 5 years ago
    Thanks, this is great!
    Quick comment, I tried the find and replace function in excel 2010.
    In order to select all the found results I had to use Ctrl +A instead of Alt + A.
  • To post as a guest, your comment is unpublished.
    Mira · 5 years ago
    Definitely awsome! Appreciate for sharing!!!
  • To post as a guest, your comment is unpublished.
    Joe Nelson · 5 years ago
    I just wanted to say thank you. This worked like a charm.
  • To post as a guest, your comment is unpublished.
    Adam · 5 years ago
    Lets say I put the below code in to delete all of my rows that contain apple but then I want it to continue once that is done and delete all the rows that contain banana? I tried to just duplicate the code but it seems to stop after apple.

    thanks.

    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" _
    Then
    If del Is Nothing Then
    Set del = cell
    Else: Set del = Union(del, cell)
    End If
    End If
    Next cell
    On Error Resume Next
    del.EntireRow.Delete
    End Sub
  • To post as a guest, your comment is unpublished.
    H man · 5 years ago
    I get:

    run-time error '13':
    Type mismatch

    Debugging highlights the If (cell.Value) = "FALSE" _
    Then
    section.

    I'm totally lost in MVB, any help would be appreciated.
  • To post as a guest, your comment is unpublished.
    Jim Mc · 5 years ago
    Heartfelt thanks - it's always amusing when the Marketing guy tries to write code, and this info was super helpful. I was unable to get the code to span multiple columns ("AA2:AA3000" works, "AB2:AB3000" works, but "AA2:AB3000" doesn't work. There's no Earth-shattering Kaboom - it just does nothing. I've solved it (amateurishly, I suppose) by running several macros in sequence, but there's probably a more elegant way. Thanks again for your help, Jim (Melville, NY)
  • To post as a guest, your comment is unpublished.
    Claire · 5 years ago
    Hey - thanks so much for the script. I was wondering if you can use wildcards so you can select anything within a cell that matches rather than a specific item? I've tried using ** wildcards but it doesn't seem to do anything. Here is what I have:

    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*" _
    Then
    If del Is Nothing Then
    Set del = cell
    Else: Set del = Union(del, cell)
    End If
    End If
    Next cell
    On Error Resume Next
    del.EntireRow.Delete
    End Sub
  • To post as a guest, your comment is unpublished.
    Art · 6 years ago
    Bobby, try this, it should get what you want:
    If (cell.Value) = "Apple" OR (cell.Value) = "Monday"
    • To post as a guest, your comment is unpublished.
      April · 5 years ago
      Is there anyway to have the value recognize a value whether is > or = to a certain value?
  • To post as a guest, your comment is unpublished.
    Bobby · 6 years ago
    Any way to modify the If (cell.Value) = "Apple" to include multiple values?
  • To post as a guest, your comment is unpublished.
    Alan · 6 years ago
    Fantastic! That worked a treat, I altered it slightly to suit what I needed but pure genious. Oh VBA Version.