hola a todos
he estado practicando un poco con los autofiltros por codigo, y me han
surgido un par (mas) de dudas sobre su manejo ->
1.- ¿es posible usar como criterio de filtrado varias celdas de una
misma fila en una sola pasada? me da la impresion de que no, o al menos
en la ayuda no consigo aclararlo, pero ¿quizas se pueda utilizar algo
como CurrentArray, o alguna propiedad o metodo que desconozco?
en las practicas que he estado realizando he usado una serie de bucles
celda a celda 'achicando' el rango filtrado, pero se hace un poco lento
(creo, igual se ralentiza en otra parte del codigo)
esta es la parte del codigo que realiza el filtrado, y que quizas sea
muy optimizable (filtra los registros que sean iguales en el rango
'a:e' )->
With Worksheets("testTransponer")
If .[a2] = "" Then Exit Sub
If .AutoFilterMode Then .AutoFilterMode = False
f = .[a65536].End(xlUp).Row
For Each celda In .Range("a2:a" & f)
criterio = celda.Value
celda.CurrentRegion.AutoFilter _
field:=1, _
Criteria1:=criterio
For cc = 2 To 5
criterio = celda.Cells(1, cc)
With .Cells.SpecialCells(xlCellTypeVisible)
If .Rows.Count > 1 Then
.AutoFilter _
field:=cc, _
Criteria1:=criterio
End If
End With
Next
2.- esta duda quizas incluso ya me la hayais respondido en alguna
ocasion, pero la verdad es que no lo recuerdo. ¿el rango filtrado
(.autofilter.range) incluye entre sus filas (la cuenta como tal) la de
encabezado (titulos de campo)?
creo entender que si, de ahi el uso normalmente de .resize.offfset(1)
para trabalar con los registros, pero hoy, en mis experimentos, me ha
surgido alguna duda, y de ahi la consulta.
bueno, si podeis echarme una mano de nuevo, os lo agradezco
un saludo y hasta pronto
Ivan
Leer las respuestas