Filtros

29/08/2004 - 17:36 por Fernando Kohan | Informe spam
Hola,

Necesito que cada que personalizo un filtro elimine los fitros ya
existentes.

Lo que pasa q muchas veces no encuentro la inf. por que la columnna del lado
ya esta con filtro.

Fernando

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
30/08/2004 - 09:07 | Informe spam
hola, Fernando !

... que cada que personalizo un filtro elimine los fitros ya existentes.
... muchas veces no encuentro la inf. por que la columnna del lado ya esta con filtro.



supongo que tu lista [autofiltros] es de varias columnas [?]
-> al personalizar autofiltros...
- los filtros ->NO personalizados<- 'muestran' [solo] los elementos 'disponibles'
- los 'otros' filtros [YA 'personalizados']... 'tienden' a mostrar [nuevamente] ->todos<- sus elementos :-(
[supongo que] 'para evitar' una -posible- 'obstruccion' si cambias 'de parecer' en los otros criterios ;)
-> si lo unico que 'te confunde' es... [NO saber] cuales elementos YA NO estan 'disponibles'...
podrias usar una funcion 'personalizada' [p.e. 'sobre' los titulos de los autofiltros] para...
'obtener' la informacion de los criterios que estan usando los campos 'filtrados'
[de esa manera 'sabrias' cuales de los elementos que 'se siguen mostrando' son 'NO aplicables'] ;)
-> suponiendo que tu listado esta en 'B2:E[n]'
usarias [p.e.] en 'B1'... =CriteriosAF(b2) ->copiada hasta 'E1'<-

si la situacion es 'diferente'... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Function CriteriosAF(ByVal Ref As Range) As String: Dim Filtro As Integer
Application.Volatile
With Ref.Parent
If Not .AutoFilterMode Then GoTo SinAutoFiltros
With .AutoFilter.Range
If Intersect(Ref.Cells(1, 1), .Parent.Range(.Address)) Is Nothing Then GoTo FueraDeFiltro
Filtro = Ref.Column - .Column + 1
With .Parent.AutoFilter.Filters(Filtro)
If .On Then
CriteriosAF = .Criteria1
If .Operator Then CriteriosAF = CriteriosAF & IIf(.Operator = 1, " [Y] ", " [O] ") & .Criteria2
Else: CriteriosAF = "[AF] Inactivo"
End If: End With: End With: Exit Function
FueraDeFiltro:
CriteriosAF = "Fuera de [AF]": Exit Function
SinAutoFiltros:
CriteriosAF = .Name & " sin [AF]"
End With
End Function
y en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Application
Do While .CutCopyMode <> False: DoEvents: Loop
.Calculate
End With
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida