filtro por vba

18/06/2009 - 22:51 por Luis | Informe spam
Hola, como puedo obtener los distintos valores en filas de distintas
columnas, por ejemplo:

col1 col2 col3 col4
23 100 1 15
23 150 2 17
50 85 1 15
50 56 5 10
80 456 3 5
24 700 1 15
24 45 1 15
45 20 2 15

lo que quiero es tener los valores ordenados de mayor a menor de las
columnas 1, 3 y 4 como si usara el autofiltro pero realizado en código, he
visto un ejemplo en el grupo pero no lo encuentro.
utilizo excel 2003, muchas gracias y perdonar si tardo en contestar pero no
tengo acceso a internet en el trabajo.

Preguntas similare

Leer las respuestas

#1 Luis
29/06/2009 - 00:05 | Informe spam
si me he explicado un poco mal, lo que pretendo hacer es tener los distintos
valores de las filas de tres columnas (no contiguas), ejemplo:

col1 col2 col3 col4
1 100 1 1
1 98 1 2
2 54 1 1
2 65 1 1

quisiera los valores de las columnas 1, 3 y 4, aplicando el autofiltro
tendriamos los valores que yo quiero:
1-1-1 primera fila
1-1-2 segunda fila
2-1-1 tercera y cuarta fila

como puedo conseguir estos valores por medio de código, he visto un ejemplo
en el foro y solo he conseguido obtener los valores de la columna 1, mañana
si puedo te escribo el código, lo tengo en el trabajo y no tengo permiso de
conexión, gracias por tu ayuda, un saludo.







"Héctor Miguel" escribió en el mensaje
news:eBflz%
hola, Luis !

tu consulta es un tanto confusa o ambigua, ya que filtrar y ordenar son
dos cosas totalmente diferentes
a menos que puedas indicar claramente como "ordenarias" tu listado usando
los autofiltros (???)

saludos,
hector.

__ OP __
Hola, como puedo obtener los distintos valores en filas de distintas
columnas, por ejemplo:

col1 col2 col3 col4
23 100 1 15
23 150 2 17
50 85 1 15
50 56 5 10
80 456 3 5
24 700 1 15
24 45 1 15
45 20 2 15

lo que quiero es tener los valores ordenados de mayor a menor de las
columnas 1, 3 y 4
como si usara el autofiltro pero realizado en codigo, he visto un ejemplo
en el grupo pero no lo encuentro.
utilizo excel 2003, muchas gracias y perdonar si tardo en contestar pero
no tengo acceso a internet en el trabajo.




Respuesta Responder a este mensaje
#2 Héctor Miguel
29/06/2009 - 00:36 | Informe spam
hola, Luis !

y aprovechas tambien para exponer cual/es criterio/s aplicas en este ejemplo (???)

col2 > 54 ???
col3 = 1 ???
otro/s ?????

saludos,
hector.

__ OP __
si me he explicado un poco mal, lo que pretendo hacer es tener los distintos valores de las filas de tres columnas (no contiguas), ejemplo:
col1 col2 col3 col4
1 100 1 1
1 98 1 2
2 54 1 1
2 65 1 1
quisiera los valores de las columnas 1, 3 y 4, aplicando el autofiltro tendriamos los valores que yo quiero:
1-1-1 primera fila
1-1-2 segunda fila
2-1-1 tercera y cuarta fila
como puedo conseguir estos valores por medio de codigo, he visto un ejemplo en el foro
y solo he conseguido obtener los valores de la columna 1
mañana si puedo te escribo el codigo, lo tengo en el trabajo y no tengo permiso de conexion ...



__ previos __
tu consulta es un tanto confusa o ambigua, ya que filtrar y ordenar son dos cosas totalmente diferentes
a menos que puedas indicar claramente como "ordenarias" tu listado usando los autofiltros (???)

__ OP __
Hola, como puedo obtener los distintos valores en filas de distintas columnas, por ejemplo:

col1 col2 col3 col4
23 100 1 15
23 150 2 17
50 85 1 15
50 56 5 10
80 456 3 5
24 700 1 15
24 45 1 15
45 20 2 15

lo que quiero es tener los valores ordenados de mayor a menor de las columnas 1, 3 y 4
como si usara el autofiltro pero realizado en codigo, he visto un ejemplo en el grupo pero no lo encuentro.
utilizo excel 2003, muchas gracias y perdonar si tardo en contestar pero no tengo acceso a internet en el trabajo.
Respuesta Responder a este mensaje
#3 Luis
29/06/2009 - 23:10 | Informe spam
hola de nuevo, los datos de columna 2 no son importantes, he buscado en el
foro el mensaje de filtro avanzado pero no lo encuentro, pero en la ayuda de
excel he encontrado esto:
expresión.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
col1 col2 col3 col4
1 100 1 1
1 98 1 2
2 54 1 1
2 65 1 1

el ejemplo que he visto utilizando este método lo usaba solo para la primera
columna y devolvería los valores 1 y 2, pues bien, quisiera saber si lo
puedo utilizar con las columnas 1, 3 y 4(la segunda columna no es
importante) me funcionaria?, es decir, me debería devolver los valores de
filtro de las tres columnas?

col1 col3 col4
1 1 1
1 1 2
2 1 1

sería algo así:

Range("col1";"col3";"col4").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:= a la hoja del libro donde quiero copiar el filtro
realizadomuchas gracias por tu ayuda y perdona mi tardanza en contestar, un
saludo. Luis






"Héctor Miguel" escribió en el mensaje
news:ORMmbDE%
hola, Luis !

y aprovechas tambien para exponer cual/es criterio/s aplicas en este
ejemplo (???)

col2 > 54 ???
col3 = 1 ???
otro/s ?????

saludos,
hector.

__ OP __
si me he explicado un poco mal, lo que pretendo hacer es tener los
distintos valores de las filas de tres columnas (no contiguas), ejemplo:
col1 col2 col3 col4
1 100 1 1
1 98 1 2
2 54 1 1
2 65 1 1
quisiera los valores de las columnas 1, 3 y 4, aplicando el autofiltro
tendriamos los valores que yo quiero:
1-1-1 primera fila
1-1-2 segunda fila
2-1-1 tercera y cuarta fila
como puedo conseguir estos valores por medio de codigo, he visto un
ejemplo en el foro
y solo he conseguido obtener los valores de la columna 1
mañana si puedo te escribo el codigo, lo tengo en el trabajo y no tengo
permiso de conexion ...



__ previos __
tu consulta es un tanto confusa o ambigua, ya que filtrar y ordenar son
dos cosas totalmente diferentes
a menos que puedas indicar claramente como "ordenarias" tu listado
usando los autofiltros (???)

__ OP __
Hola, como puedo obtener los distintos valores en filas de distintas
columnas, por ejemplo:

col1 col2 col3 col4
23 100 1 15
23 150 2 17
50 85 1 15
50 56 5 10
80 456 3 5
24 700 1 15
24 45 1 15
45 20 2 15

lo que quiero es tener los valores ordenados de mayor a menor de las
columnas 1, 3 y 4
como si usara el autofiltro pero realizado en codigo, he visto un
ejemplo en el grupo pero no lo encuentro.
utilizo excel 2003, muchas gracias y perdonar si tardo en contestar
pero no tengo acceso a internet en el trabajo.













Less Spam Better enjoyable experience
Visit : news://spacesst.com
Respuesta Responder a este mensaje
#4 Héctor Miguel
29/06/2009 - 23:36 | Informe spam
hola, Luis !

para poder ofrecer una propuesta mas "adoc" con TU realidad, seria bueno si comentas los detalles concretos
nombre de las hojas, rangos, tipo de datos, titulos, que buscas obtener (exactamente) y por que, como, cuando, donde, etc.

en via de mientras, existen varias conversaciones que tratan el uso de filtros avanzados por codigo: http://tinyurl.com/ly8xh7

saludos,
hector.

__ OP __
... los datos de columna 2 no son importantes, he buscado en el foro el mensaje de filtro avanzado pero no lo encuentro
pero en la ayuda de excel he encontrado esto: expresión.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
col1 col2 col3 col4
1 100 1 1
1 98 1 2
2 54 1 1
2 65 1 1
el ejemplo que he visto utilizando este método lo usaba solo para la primera columna y devolveria los valores 1 y 2
pues bien, quisiera saber si lo puedo utilizar con las columnas 1, 3 y 4 (la segunda columna no es importante) me funcionaria?
es decir, me debería devolver los valores de filtro de las tres columnas?
col1 col3 col4
1 1 1
1 1 2
2 1 1
seria algo asi:
Range("col1";"col3";"col4").AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:= a la hoja del libro donde quiero copiar el filtro realizado ...





Less Spam Better enjoyable experience
Visit : news://spacesst.com
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida