Excel - Recorrer rango filtrado

   
Vista:

Recorrer rango filtrado

Publicado por bego (4 intervenciones) el 27/01/2010 14:55:11
Hola a todos,

Tengo una duda sobre cómo se puede recorrer las filas que obtengo después de hacer un filtro

Estoy haciendo una macro, que lo primero que hace es un filtro de las filas que tengo.Así me quedo sólo con las que realmente voy a trabajar. Ahora tengo que recorrer sólo esas filas para hacer cálculos y aquí es donde me pierdo.
Si hago uso de offset para avanzar, voy a la siguiente fila pero no del filtro....

He encontrado el comando specialsCells pero no consigo averiguar cómo recorrer sólo las filas del filtro

Si alguien me pudiera orientar...

Muchas gracias por vuestra ayuda

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:Recorrer rango filtrado

Publicado por JuanC (1053 intervenciones) el 27/01/2010 17:54:04
te dejo un fragmento de código que por ahí te sirve...

Set ws = Sheets(1)
If ws.AutoFilterMode = True Then '//Si hay filtro aplicado lo quita...
ws.AutoFilterMode = False
End If
'//Aplica autofiltro...
ws.Range("$B$2:$D$" & ws.Cells.Rows.Count).AutoFilter Field:=1, Criteria1:=sCriterio, VisibleDropDown:=False
'//Toma rango del Autofiltro
Set rng = ws.AutoFilter.Range '//Ej: $B$2:$D$13
If Not rng Is Nothing Then
'//Reduce el rango del Autofiltro (quita encabezado)
'//(toma sólo la primer columna del rango del Autofiltro)
sAdd = rng.Address
stmp = Split(sAdd, ":")(0) '//$B$2
stmp = Split(stmp, "$")(2) '//2
sFirst = Split(sAdd, "$")(1) '//B
sLast = Split(Cells(, rng.SpecialCells(xlCellTypeLastCell).Column).Address, "$")(1)
sAdd = Replace(sAdd, sLast, sFirst) '// $B$3:$D$13 -> $B$3:$B$13
sAdd = Replace(sAdd, "$" & sFirst & "$" & stmp, "$" & sFirst & "$" & CStr(CLng(stmp) + 1))
Set rng = Range(sAdd)

'//Resultado del Autofiltro (filas visibles)
Set h = rng.SpecialCells(xlCellTypeVisible)
End If

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recorrer rango filtrado

Publicado por Bego (4 intervenciones) el 27/01/2010 18:07:25
Hola JuanC,

Muchisimas gracias!

He podido conseguir el rango del filtro y recorrerlo para consultar el valor de columna que necesitaba....

Bego
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recorrer rango filtrado

Publicado por Jaime Alberto (1 intervención) el 12/06/2013 16:34:11
Puedes publicar el código como lo hiciste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recorrer rango filtrado

Publicado por Raziel (243 intervenciones) el 27/01/2010 18:10:29
Estimado JuanC, perdon que meta mi cuchara, yo estoy empezando en esto, la pregunta que hace el compañero bego esta interesante, existe algun modo de que nos regales algun link pa bajar el ejemplillo?
Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Recorrer rango filtrado

Publicado por JuanC (1053 intervenciones) el 27/01/2010 19:18:12
pues mira, ese fragmento de código lo saqué de algo que hice yo
y está prácticamente completo! (faltan las declaraciones de variables y chequeos
de errores)
no hay nada para bajar de ningún lado...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Recorrer rango filtrado

Publicado por _frany_ (58 intervenciones) el 27/01/2010 22:22:17
Chapó maestro.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar