filtros y ordenación

09/02/2006 - 22:19 por Playa de Chilches - atención al cliente | Informe spam
Tengo una base de datos en excel con 12 ó mas columnas y 40.000 filas ó mas
y necesito extraer información por código VBA y por eso me gustaria que
alguien me pasara un código VBA para realizar las siguientes operaciones:
Poner el autofiltro y elegir de una pequeña base de datos de columnas el nº
de columna correspondiente al filtro que quiero realizar... seguidamente
copie el resultado junto al nombre de las columnas y lo pegue en otra hoja
del mismo libro y a continuación lo ordene eligiendo tambien la columna para
ordenar y en su caso (no es lo mas importante) guardar en ese libro u otro
nuevo.
Puede darse el caso que quiera dos o mas filtros y tambien que en el momento
de ordenar se puedan elegir dos ó mas columnas para ello.
Eso me ayudaría un montón, ya que para mi trabajo lo necesito así y me
ahorraria cantidad de horas.
Sé que existen las tablas dinámicas pero no es eso lo que necesito.. perdón
y muchas, muchas gracias.
José Rafael - Valencia

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/02/2006 - 08:20 | Informe spam
hola, José Rafael !

Tengo una base de datos en excel con 12 o mas columnas y 40.000 filas o mas y necesito extraer informacion por codigo VBA
y por eso me gustaria que alguien me pasara un código VBA para realizar las siguientes operaciones:
Poner el autofiltro y elegir de una pequeña base de datos de columnas el nº de columna correspondiente al filtro que quiero realizar
seguidamente copie el resultado junto al nombre de las columnas y lo pegue en otra hoja del mismo libro
y a continuacion lo ordene eligiendo tambien la columna para ordenar y en su caso (no es lo mas importante) guardar en ese libro u otro nuevo.
Puede darse el caso que quiera dos o mas filtros y tambien que en el momento de ordenar se puedan elegir dos ó mas columnas para ello.
Eso me ayudaria un monton, ya que para mi trabajo lo necesito asi y me ahorraria cantidad de horas.
Se que existen las tablas dinamicas pero no es eso lo que necesito.. perdon y muchas, muchas gracias...



no se si en verdad sea indispensable el uso de codigo... o si te vale usar los filtros avanzados -?-
solo tendrias que 'nombrar' los rangos [base de dstos 'origen' en una hoja y destino/criterios en otra] ;)
podrias utilizar [en el area de criterios y destino] SOLO las columnas que necesites que sean filtradas
la ordenacion podias hacerla 'manual' :-(

de cualquier forma... serviria si comentas los detalles 'faltantes' ;)
saludos,
hector.
Respuesta Responder a este mensaje
#2 Playa de Chilches - atención al cliente
10/02/2006 - 10:28 | Informe spam
Hola Héctor:
Gracias una vez mas por tus estupendos consejos y porque tu ayuda y la de
otros maestros, KL, Fernando, etc.. me ha hecho mas amable mi trabajo con
excel (que es a diario).
Bien, la respuesta de hoy no la he entendido muy bien... perdón... de
cualquier forma expongo mas datos de mi idea de como trabajar con la base de
datos que describí.
Me gustaria tener dos cuadros de lista... y dos botones:
Cuadro de lista nº 1 --> todas las columnas
Cuadro de lista nº 2 --> todas las columnas
Boton nº 1 : Filtrar de acuerdo con el cuadro de lista nº 1 y despues que el
resultado obtenido se pase a otra hoja.
Boton nº 2 : En esa nueva hoja ordenar siguiendo los criterios del cuadro de
lista nº 2.
Desde luego si se pudieran elegir varios criterios tanto para filtrar como
para ordenar seria estupendo, pero ya me conformaria si cosiguiera los
descrito primeramente.
Saludos

José Rafael
(soy -->Aprendiz, Costa de Chilches, Playa de Chilches, porque utilizo tres
ordenadores distintos)

"Héctor Miguel" escribió en el mensaje
news:
hola, José Rafael !

Tengo una base de datos en excel con 12 o mas columnas y 40.000 filas o
mas y necesito extraer informacion por codigo VBA
y por eso me gustaria que alguien me pasara un código VBA para realizar
las siguientes operaciones:
Poner el autofiltro y elegir de una pequeña base de datos de columnas el
nº de columna correspondiente al filtro que quiero realizar
seguidamente copie el resultado junto al nombre de las columnas y lo
pegue en otra hoja del mismo libro
y a continuacion lo ordene eligiendo tambien la columna para ordenar y en
su caso (no es lo mas importante) guardar en ese libro u otro nuevo.
Puede darse el caso que quiera dos o mas filtros y tambien que en el
momento de ordenar se puedan elegir dos ó mas columnas para ello.
Eso me ayudaria un monton, ya que para mi trabajo lo necesito asi y me
ahorraria cantidad de horas.
Se que existen las tablas dinamicas pero no es eso lo que necesito..
perdon y muchas, muchas gracias...



no se si en verdad sea indispensable el uso de codigo... o si te vale usar
los filtros avanzados -?-
solo tendrias que 'nombrar' los rangos [base de dstos 'origen' en una hoja
y destino/criterios en otra] ;)
podrias utilizar [en el area de criterios y destino] SOLO las columnas que
necesites que sean filtradas
la ordenacion podias hacerla 'manual' :-(

de cualquier forma... serviria si comentas los detalles 'faltantes' ;)
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
11/02/2006 - 03:00 | Informe spam
hola, José Rafael !

...mas datos de mi idea de como trabajar con la base de datos que describi tener dos cuadros de lista... y dos botones:
... lista 1 -> todas las columnas
... lista 2 -> todas las columnas
Boton 1 : Filtrar de acuerdo con el cuadro de lista 1 y... que el resultado obtenido se pase a otra hoja.
Boton 2 : En esa nueva hoja ordenar siguiendo los criterios del cuadro de lista 2.
... si se pudieran elegir varios criterios tanto para filtrar como para ordenar seria estupendo
... ya me conformaria si cosiguiera los descrito primeramente...



1) [creo que] la base de datos NO ha quedado [lo que se 'dice']... 'descrita' -?-
solo 'sabemos' que tiene ~12 columnas y ~40,000 filas :))

2) si lista1 contiene todas las columnas [supongo de la hoja con la base de datos]...
y boton1 'pasa' a otra hoja el 'resultado' del autofiltro...
=> CUAL es el criterio para el filtrado ? y... quien 'dice' [o de donde se toma] dicho criterio ?

3) si lista1 contiene todas las columnas de la 'nueva' hoja...
y boton2 'ejecuta' una ordenacion en la nueva hoja...
=> CUAL es [o de donde se toma] el orden ?

4) que significa 'varios criterios' para filtrar y [ademas] para ordenar ?
varias veces ?... varias columnas ?... criterios cominados ?... ???

5) [creo que] siguen algunos detalles 'en el tintero' :)) [como la hoja donde estarian las listas y los botones...]
saludos,
hector.
Respuesta Responder a este mensaje
#4 Playa de Chilches - atención al cliente
11/02/2006 - 15:35 | Informe spam
Hola Héctor
gracias por tu paciencia...
Los botones y las listas podrian estar en la misma hoja base de datos ó en
una nueva llamada p.e. "Listados".

y para saber los criterios:
o bien uno ó varios inputbox ó cuadros de dialogo
ó una llamada(s) con buscarV poniendo el nº de lista para que te devuelva la
columna ó su nombre, según interese... (creo que esta opción es peor..)
inserto los comentarios mas abajo...

"Héctor Miguel" escribió en el mensaje
news:OVHJ%
hola, José Rafael !

...mas datos de mi idea de como trabajar con la base de datos que
describi tener dos cuadros de lista... y dos botones:
... lista 1 -> todas las columnas
... lista 2 -> todas las columnas
Boton 1 : Filtrar de acuerdo con el cuadro de lista 1 y... que el
resultado obtenido se pase a otra hoja.
Boton 2 : En esa nueva hoja ordenar siguiendo los criterios del cuadro de
lista 2.
... si se pudieran elegir varios criterios tanto para filtrar como para
ordenar seria estupendo
... ya me conformaria si cosiguiera los descrito primeramente...



1) [creo que] la base de datos NO ha quedado [lo que se 'dice']...
'descrita' -?-
solo 'sabemos' que tiene ~12 columnas y ~40,000 filas :))

2) si lista1 contiene todas las columnas [supongo de la hoja con la base
de datos]...


si, de la hoja con la base de datos.

y boton1 'pasa' a otra hoja el 'resultado' del autofiltro...
=> CUAL es el criterio para el filtrado ? y... quien 'dice' [o de
donde se toma] dicho criterio ?



inputbox (hasta tres p.ej.)

3) si lista1 contiene todas las columnas de la 'nueva' hoja...
y boton2 'ejecuta' una ordenacion en la nueva hoja...
=> CUAL es [o de donde se toma] el orden ?



inputbox (hasta tres p.ej.)

4) que significa 'varios criterios' para filtrar y [ademas] para ordenar ?
varias veces ?... varias columnas ?... criterios cominados ?...
???



respondido con los inputbox

5) [creo que] siguen algunos detalles 'en el tintero' :)) [como la hoja
donde estarian las listas y los botones...]



a elegir entre una nueva hoja "Listados" ó en la misma hoja de
la base de datos = me dá

saludos,
hector.
GRACIAS POR TODO UNA VEZ MAS
Respuesta Responder a este mensaje
#5 Héctor Miguel
13/02/2006 - 08:39 | Informe spam
hola, José Rafael !

Los botones y las listas podrian estar en la misma hoja base de datos o en una nueva llamada p.e. "Listados".
y para saber los criterios: o bien uno o varios inputbox o cuadros de dialogo o una llamada(s) con buscarV
poniendo el nº de lista para que te devuelva la columna o su nombre, segun interese... (creo que esta opcion es peor..)
inserto los comentarios mas abajo...


[p] si lista1 contiene todas las columnas [supongo de la hoja con la base de datos]...
[R] si, de la hoja con la base de datos.
[p] => CUAL es el criterio para el filtrado ? y... quien 'dice' [o de donde se toma] dicho criterio ?
[R] inputbox (hasta tres p.ej.)
[p] => CUAL es [o de donde se toma] el orden ?
[R] inputbox (hasta tres p.ej.)
[p] que significa 'varios criterios' para filtrar y [ademas] para ordenar ?
varias veces ?... varias columnas ?... criterios combinados ?... ???




[R] respondido con los inputbox

a veces [como que 'yo mismo']... me caigo mal por andar de 'pregunton' :)) evitando [o tratando de evitar] la 'fatiga de suponer'...
[cuando 'considero' que -todavia- 'existe']... un amplio 'abanico' de posibilidades/eventualidades/imponderables/situaciones/... [p.e.]:

1) me imagino que por los -> 'inputbox (hasta tres p.ej)'... -> te refieres -exclusivamente- a CUALES serian las columnas... -?-
-> a las cuales se sujetaria el codigo para 'filtrar' [de la base de datos] y 'ordenar' [algun listado 'resultante'] -???-

2) [sin embargo]... NO 'VEO' que hayas comentado cuales serian -> LOS CRITERIOS [de los autofiltros NI del 'orden' al listado final] -?-
-> te recuerdo que por autofiltros puedes 'combinar' -hasta- 2 criterios, con los cuales puedes 'condicionar' [el filtrado] a...
a) que se cumplan AMBOS [cuando usas el operaror 'Y']... o que se cumpla -al menos- UNO de ellos [con el operador 'O'] ;)
b) los criterios pudieran ser 'unicos/excluyentes' -> igual, menor, etc o 'incluyentes' -> que [NO]/contenga/inicie, etc.

3) tampoco has comentado si en la base de datos se podrian encontrar... numeros/textos/ambos/FECHAS/... ???
con lo cual, los criterios/operadores pudieran llegar a 'entrar en conflictos' [por codigo] sobre todo cuando 'hablamos' de fechas <= OJO

4) usar terminos 'ambiguos' como: 'pudiera ser uno u otro'... 'me da igual'... etc. -> AMPLIA el -posible- 'abanico de imponderables'...
y lograr que en una [o en pocas] propuestas de solucion... se de 'en el clavo' de la situacion 'real' que se pretende resolver -?-

5) SI [probablemente] ya te he caido 'gordo' [a ti tambien, como 'a mi mismo']... :-((
hace poco hice un comentario que +/- 'reza' como sigue: -> si quieres seguir por el camino de... 'adivinen lo que estoy pensando'... :D

6) no es necesario que 'escribas un libro' [para exponer los detalles de tu problema en la consulta]... NI que adjuntes un archivo :))
-> [cuando tengas un tiempecito]... revisa: http://spaces.msn.com/members/excel4all

7) si 'ya llegaste hasta este punto' :)) solo espero que no me consideres un... 'impertinente' ? :))

y [finalmente]... si cualquier duda [o te animas a exponer los detalles 'del tintero']... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida