¿Cómo puedo hacer una macros para filtrar campos en excel 2010?

tengo que hacer una macros que filtre por letras... Esa parte ya esta arreglado
pero ademas que filtre por si un campo esta vacío o no... Y si esta vacío que elimine
todo ese campo vacío dejándome solo los que tengan un dato... En este caso numero de factura.

1 respuesta

Respuesta
1

Te mando mi solución y sigue mi ejemplo:

-Tenemos una tabla de datos y en la columna A tenemos los números de factura y en dicha columna hay algunas celdas en blanco y queremos eliminar la fila entera que tiene esa celda en blanco.

-Los datos en mi ejemplo empiezan desde A1 hacia abajo siendo A1 el encabezado.

-Ejecuta esta macro y todo listo.

Sub prueba()
'por luismondelo
Range("a65000").End(xlUp).Offset(1, 0).Value = "final"
Range("a1").Select
Do While ActiveCell.Value <> "final"
If ActiveCell.Value = "" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
ActiveCell.ClearContents
End Sub

recuerda finalizar la consulta

Funciona muy bien, pero el problema viene que el excel siempre va a tener campos vacíos

osea va a estar eliminando constantemente.
Porque puede que mis datos sean asta al a40 por ejemplo pero abajo desde el a41 son campos vacios

Por eso mismo lo he construido con un bucle do while.......loop

He probado la macro según el ejemplo que he descrito y funciona perfectamente.

¿Dónde está tu problema?

cuando lo pruebo yo, el campo factura esta en k le cambio esa parte y lo ejecuto y nunca deja de eliminar hasta que se cuelga el excel te paso los datos para que lo pruebes con eso.

nose como pasarte el excel, pero como te digo pareciera que se genera un bucle infinito

En ese caso la macro sería así:

(Siempre empezando desde K1 hacia abajo)

Sub prueba()
'por luismondelo
Range("k65000").End(xlUp).Offset(1, 0).Value = "final"
Range("k1").Select
Do While ActiveCell.Value <> "final"
If ActiveCell.Value = "" Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
ActiveCell.ClearContents
End Sub

Gracias, no me había dado cuenta de ese detalle.

Lo hace muy bien aunque al final eja algunos campos sin factura pero nada importante :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas