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.
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
31/05/2019 a las 4:46 pm
Excelente esta macro, pero no se porque al tratar de usar valores numéricos no me funciona
30/12/2021 a las 6:44 am
Hola, si entras los datos por un textbox ponle a esa variable el Int adelante ñ, es decir :
INT ( qcriterio ) te debe de funcionar
01/09/2019 a las 8:24 am
Muy buena la macro, felicitaciones !!!!! Gracias
11/10/2019 a las 11:56 am
Hola,
¿Como hago para eliminar toda una columna si todo el rango de celdas es igual a 0 ?
06/03/2020 a las 10:37 pm
Hola, y como le puedo adicionar más de un criterio
29/08/2020 a las 2:55 pm
Excelente ayuda; esto lo estaba necesitando.
Gracias
16/03/2020 a las 11:41 pm
Saludos,
Esta informacion fue el salvavidas que me saco a flote en el medio del oceano, un millon de gracias.
15/08/2020 a las 2:54 pm
Excelente macro.
Muchas gracias por compartir.
18/11/2020 a las 5:30 am
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
07/01/2021 a las 4:24 pm
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
08/01/2021 a las 12:57 pm
Esta buenísima la opción. justo la operación que estaba buscando !!!
muchísimas gracias por el talento y el conocimiento compartido
31/03/2022 a las 7:20 am
Hola, su ayuda por favor
Uso la macro em una tabla que tiene números en la primera columna y no funciona.