Que me escoja entre 2 valores un Filtro Avanzado

06/10/2007 - 20:59 por XavierFC | Informe spam
En la Hoja "Historic" tengo una serie columnas con datos:

Columna A: Equipos de Futbol
Colunma B: Nº de Goles
Columna C: Fecha del Partido
etc...

Bien, en la Hoja "Filtre" tengo el siguiente código en una Macro:

Sheets("Historic").Columns("A:M").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Range("B6:N7"),
CopyToRange:=Range("B15:N5000"), Unique:=False


Lo que me hace es que me filtra lo que hay en la hoja "Historic" en
funcion de los rangos que yo escriba entre B6 y N7. Puedo filtrar por
el nombre de un equipo "Barcelona" o de una fecha "2002/03-03" ,por
ejemplo poniendo "*-20*" me coge los que sigan ese criterio, todo
perfecto.

El problema lo tengo con los goles, ya que si debajo de la casilla de
"Goles Casa" pongo "2" pues me coge los partidos en los que el equipo
de casa ha hecho 2 goles, o si pongo ">3" me coge los partidos en los
que ha marcado más de 3 goles, o también "<>1" pues me coge los
partidos en los que no ha marcado 1 gol.

El problema que tengo, y aquí mi pregunta es: como le pongo que quiero
me escoja los partidos en los que ha habido entre 2 y 4 goles?

Gracias y Saludos Cordiales.
 

Leer las respuestas

#1 Héctor Miguel
07/10/2007 - 00:39 | Informe spam
hola, Xavier !

En la Hoja "Historic" tengo una serie columnas con datos:
Columna A: Equipos de Futbol, Colunma B: Nº de Goles, Columna C: Fecha del Partido, etc...
... en la Hoja "Filtre" tengo el siguiente codigo en una Macro:

Sheets("Historic").Columns("A:M").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("B6:N7"), CopyToRange:=Range("B15:N5000"), Unique:=False

... filtra lo que hay en la hoja "Historic"... los... que yo escriba entre B6 y N7...
... con los goles... si debajo de la casilla de "Goles Casa" pongo "2"... o si pongo ">3"... o tambien "<>1" ...
El problema... es: como le pongo que quiero me escoja los partidos en los que ha habido entre 2 y 4 goles?



para utilizar en los filtros avanzados un criterio donde deban cumplirse TODAS las condiciones [dos o mas] -> "Y"

1) *borra* el titulo de la columna en el rango de criterios [hoja "filtre" celda "B6" ?]
[ya despues de filtrado se lo podras volver a poner] :))

2) utiliza la funcion de hoja de calculo =Y(...) como criterio [hoja "filtre" celda "B7" ?]
[p.e.] suponiendo que en la hoja "historic" los datos [SIN titulos] inician en la fila 2...
=y(historic!b2>1,historic!b2<5)
y OJO con el separador de argumentos, yo uso la coma :D

si cualquier duda [o informacion adcional]... comentas ?
saludos,
hector.

Preguntas similares