Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Eliminar Filas Según Criterio

Eliminar Filas Según Criterio

| 12 comentarios

Basándose en el tema de la eliminación de columnas vacías, se adjunta en este artículo la forma de eliminar en un archivo según un criterio en específico, para ello es necesario emplear el código de la última fila.  Esta macro generalizada, solicita la columna del criterio y cuál es esté para poder facilitar al usuario su búsqueda.

Eliminar Filas Según Criterio Eliminar Filas Según Criterio

 

Empezando la macro se realiza una copia de la hoja actual para no modificar la base de datos, y así poder realizar los cambios requeridos. Esta función en primer lugar selecciona la hoja actual y luego la copia para tenerla lista a los cambios.

HojaActual = ActiveSheet.Name

Sheets(HojaActual).Select

Sheets(HojaActual).Copy Before:=Sheets(1)

Por otro lado, para el bucle de limpieza se utiliza el código de la última fila, recorriendo desde el fin al principio, así se podrá evitar problemas de que se acorte la tabla o existan saltos en ella. A continuación, a través de la variable qColumna,  se solicita la columna donde está ubicado el criterio  y después se pide el criterio para almacenarla en la variable qCriterio. Entonces, el programador para cada celda de la columna solicitada va eliminando si el contenido es igual a la variable almacenada. 

For i = u To 2 Step -1

Cells(i, qColumna).Select

If Cells(i, qColumna) = qCriterio Then

    ActiveCell.EntireRow.Select

    Selection.Delete

End If

Next

End Sub

En conclusión, este método podría utilizarse para agilizar búsquedas en un bases de datos sin modificaciones y como un método de filtrado, así como hacerlo más amigable al usuario.

Descargar ejemplo:  Eliminar Filas Según Criterio 

Creado por: Jaime Huaman 

12 comentarios

  1. Excelente esta macro, pero no se porque al tratar de usar valores numéricos no me funciona

    • Hola, si entras los datos por un textbox ponle a esa variable el Int adelante ñ, es decir :
      INT ( qcriterio ) te debe de funcionar

  2. Muy buena la macro, felicitaciones !!!!! Gracias

  3. Hola,
    ¿Como hago para eliminar toda una columna si todo el rango de celdas es igual a 0 ?

  4. Hola, y como le puedo adicionar más de un criterio

    • Excelente ayuda; esto lo estaba necesitando.
      Gracias

  5. Saludos,
    Esta informacion fue el salvavidas que me saco a flote en el medio del oceano, un millon de gracias.

  6. Excelente macro.
    Muchas gracias por compartir.

  7. buenos días, disculpa que te moleste he descargado el Excel de eliminar filas según critero y no funciona, no se porque, de todos modos creo por lo poco que se que este código borra la fila completa y yo lo que necesito es solo borrar las celdas de tres columnas.
    Gracias por tu ayuda

  8. hola buen dia
    necesito ayuda

    estoy cargando datos a un ListBox, pero se me cargan 3 iten vacios.

    la pregunta es como elimino esos 3 item que estan vacios
    ya tengo un codigo pero no me esta haciendo lo que quiero:

    For I = 0 To ListBox2.ListCount - 1
    If ListBox2.Column(0, I) = "" Then
    ListBox2.RemoveItem ListBox2.ListIndex
    End If
    Next I

  9. Esta buenísima la opción. justo la operación que estaba buscando !!!
    muchísimas gracias por el talento y el conocimiento compartido

  10. Hola, su ayuda por favor
    Uso la macro em una tabla que tiene números en la primera columna y no funciona.

Deja una respuesta

Los campos requeridos estan marcados con *.