Forums Últimos mensajes - Powered by IBM
 

filtro sin datos en visual basic

11/11/2011 - 18:54 por nanote | Informe spam
¡ Hola !
Quisiera saber si ejecuté la siguiente sentencia:
Range("A1").AutoFilter field:=1, Criteria1:=">=" & lFecha1, _
Operator:=xlAnd, Criteria2:="<=" & lFecha2
y NO hubo filas filtradas, ¿con que sentencia compruebo que no hubo datos?
Traté de usar "mirango.rows.count" pero contabiliza todo, ¿habrá algo como Filter.empty ?
Gracias desde ya
Nano2757
 

Leer las respuestas

#1 nanote
13/11/2011 - 03:53 | Informe spam
Juan Español escribió el 12/11/2011 21:35 :
Hola nanote:
Mira a ver si el código de esta macro te ayuda a entender como
detectar el caso de que no haya filas visibles después de aplicar un
filtro.

Sub Macro_c_1()
'Esta macro hace un autofiltro (muestra las filas con fechas _
de Jun 2000 en Colum A) en la hoja activa y _
muestra un mensaje según resultado.
'¡¡¡OJO!!! La Colum tiene encabezamiento
Dim lFecha1, lFecha2, ContFil As Integer, area As Range
lFecha1 = 36678
lFecha2 = 36707
Range("A:A").AutoFilter field:=1, Criteria1:=">=" &
lFecha1, _
Operator:=xlAnd, Criteria2:="<=" & lFecha2

'Aquí empieza el código de contar filas visibles con el filtro
Dim EsqSupIzd As Range
Set EsqSupIzd = Range("A2")
ContFil = -1
For Each area In _
EsqSupIzd.CurrentRegion.SpecialCells(xlVisible).Areas
ContFil = ContFil + area.Rows.Count
Next
If ContFil = 0 Then
MsgBox "No hay ninguna fila que cumpla el filtro"
ElseIf ContFil = 1 Then
MsgBox "Hay una fila que cumple el filtro."
Else: MsgBox "Hay " & ContFil & " filas que cumplen el
filtro."
End If
End Sub


Saludos.-

"nanote" escribió
en el mensaje de
noticias news:
¡ Hola !
Quisiera saber si ejecuté la siguiente sentencia:
Range("A1").AutoFilter field:=1, Criteria1:=">=" &
lFecha1, _
Operator:=xlAnd, Criteria2:="<=" & lFecha2
y NO hubo filas filtradas, ¿con que sentencia compruebo que no hubo
datos?
Traté de usar "mirango.rows.count" pero contabiliza todo,
¿habrá algo como Filter.empty ?
Gracias desde ya
Nano2757




super bueno tu aporte Juan español, habia estado intentando con otras tecnicas, pero esta me llegó super, muchisismas gracias.
atte
nanote

Preguntas similares