Pregunta sobre Autofilter

14/03/2005 - 19:41 por Luis Rentería | Informe spam
Buenas tardes!

Necesito saber la manera en que puedo validar si al aplicar un filtro con el
método autofilter, existe al menos un renglón con datos válidos, o bien,
saber cómo detecto que no hay datos para los filtros aplicados.

Saludos.

:)

Preguntas similare

Leer las respuestas

#1 varela_b
14/03/2005 - 20:28 | Informe spam
Luis Rentería wrote:

Mostrar la cita
No se si ya intentastes primero ordenar tu hoja por el campo que deseas
validar y despues aplicar el autofiltro, eso te dira primero si tienes
datos en blanco, despues tendrías que hacer una busqueda para el valor
deseado y si existe ese valor buscado entonces realizar el autofiltro.
#2 Héctor Miguel
15/03/2005 - 08:31 | Informe spam
hola, Luis !

Mostrar la cita
prueba con los siguientes codigos y... si cualquier duda... comentas?
saludos,
hector.

-> si ya aplicaste un autofiltro y quieres saber cuantas filas quedaron 'cumpliendo' con el criterio...
podrias contar las celdas visibles del primer campo/columna del rango al que se aplica el autofiltro
With ActiveSheet.AutoFilter.Range.Columns(1)
MsgBox .SpecialCells(xlCellTypeVisible).Count - 1
End With

-> si quisieras 'consultar ANTES' para aplicar [o no] un autofiltro a un rango...
Sub ValidarParaFiltrar()
Dim Hoja As String, Campo As Byte, Criterio As String, ColFiltro As String, Tantas As Long
Hoja = "Hoja1"
Campo = 3 '1
Criterio = ">250" '"=*d"
With Worksheets(Hoja).AutoFilter.Range
ColFiltro = .Columns(Campo).Address
If Application.CountIf(Range(ColFiltro), Criterio) > 0 Then
.AutoFilter Field:=Campo, Criteria1:=Criterio
Tantas = .Columns(1).SpecialCells(xlCellTypeVisible).Count - 1
MsgBox "Existen " & Tantas & " filas que ""cumplen"" con el criterio."
Else
MsgBox "No existen datos con el criterio solicitado !!!"
End If
End With
End Sub
#3 Luis Rentería
16/03/2005 - 16:43 | Informe spam
Gracias por los tips.

Lo resolví usando el código siguiente, después de aplicar los filtros
necesarios.

Selection.AutoFilter Field:=1, Criteria1:="X"
Selection.AutoFilter Field:=2, Criteria1:="Y"

'Después de aplicar los filtros, el cursor se coloca por default en A1 y
aplico entonces lo siguiente:

ActiveCell.SpecialCells(xlLastCell).Select

If ActiveCell.Row > 1 Then

'Si existe algún dato que satisfaga el criterio, ocupará el renglón
2 (o más)
'y ejecuto el código restante.

Else

´De lo contrario, regreso los filtros al dato general.
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2

End if

Saludos.


"Héctor Miguel" wrote in message
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida