Filtro avanzado

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Filtro avanzado

Notapor Nin-i » 13 Ago 2007 08:29

Espero que alguien pueda ayudarme con el filtro avanzado que intento.
Ningún ejemplo en el foro se adapta a lo que quiero y realmente no sé hacerlo.

en la hoja "formulario" del ejemplo que adjunto, hay un formulario de filtro, la informacion a filtrar está en las celdas validadas amarillas de la hoja. Mi pregunta es la siguiente:

como hago para que
1) mediante código en el botón filtrar, filtre los datos de la hoja "datos" ateniéndose al criterio elegido de una de las celdas validadas (no de las tres a la vez) de la hoja "formulario" y los copie en el rango A9:E9 de esta misma hoja

2) se debe escoger un rango superior al de la base datos de la hoja "datos" ya que ésta crecerá?

Adjunto como dije un pequeño ejemplo por si alguno de vosotros tiene tiempo de echarme una mano
gracias anticipadas
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Nin-i
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 Abr 2006 12:31

Re: Filtro avanzado

Notapor ioyama » 13 Ago 2007 12:49

Hola Nin-i

Revisa el adjunto. Emplea un filtro avanzado, los criterios podrán ser uno, dos o tres, en función de sí­ hay datos o si están vací­os. Con todos los criterios vací­os te mostrará todo el listado.

Un saludo desde Vitoria
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
ioyama
Miembro Frecuente
Miembro Frecuente
 
Registrado: 28 Ene 2005 09:12
Ubicación: Vitoria

Re: Filtro avanzado

Notapor Nin-i » 13 Ago 2007 13:16

Muchí­simas gracias ioyama
era justo lo que necesitaba. Intenté sola pero me faltaba un trocito del código que me facilitaste
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Nin-i
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 Abr 2006 12:31

Re: Filtro avanzado

Notapor Nin-i » 13 Ago 2007 15:32

Ioyama, tengo una duda sobre el mismo tema:
hay alguna diferencia en el modo de tratar las celdas o los filtros en excel 2007? :(

el código que me facilitaste en el ejemplo anterior funciona perfectamente en XP pero intento hacer lo mismo en 2007 y me arroja error 1004 en tiempo de ejecución:
la referencia no es válida
porqué?
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Nin-i
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 Abr 2006 12:31

Re: Filtro avanzado

Notapor ioyama » 13 Ago 2007 16:53

Hola Nin-i

En efecto he probado a abrirlo en 2007 y la macro no va. Ahora bien, si lo guardo en 2007 como libro de excel habilitado para macros, cierro y vuelvo a abrir el archivo la macro vuelve a funcionar (por lo menos en apariencia).

Un saludo desde Vitoria
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
ioyama
Miembro Frecuente
Miembro Frecuente
 
Registrado: 28 Ene 2005 09:12
Ubicación: Vitoria

Re: Filtro avanzado

Notapor KL » 13 Ago 2007 17:24

Hola chicos,

A mi el fichero postado por ioyama me funciona perfectamente tal cual en Office 2007 Ultimate Eng (obviamente, habilitando macros durante la apertura).

P.D.
Uno de los problemas que segun me consta ha sido detectado por Hector Miguel Orozco Diaz (MVP Microsoft Excel), es que los criterios establecidos mediante formulas con rangos relativos (aunque no sea el caso de este fichero) no funcionan correctamente en el Filtro Avanzado del Excel 2007
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Filtro avanzado

Notapor ioyama » 13 Ago 2007 17:36

Hola de nuevo

Buena puntualización KL, en efecto, habilitando macros durante la apertura.

Un saludo desde Vitoria
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
ioyama
Miembro Frecuente
Miembro Frecuente
 
Registrado: 28 Ene 2005 09:12
Ubicación: Vitoria

Re: Filtro avanzado

Notapor galileogali » 13 Ago 2007 19:37

KL: digamos que no es un tema menor el que detectó Héctor, ya que ciertos criterios armados con fórmulas con rangos relativos, no dejan muchas más alternativas, salvo VBA. Entonces me pregunto: ¡Cuál es el tiempo de reacción de Microsoft para elaborar y publicar los Patches que resuelvan este y muchos otros tópicos!!!!????.
A veces tengo la sensación de que el area de control de calidad de los productos Microsoft, podria recurrir al sevicio de los principales foros de Excel, enviando betas para que los chequeemos entre todos.....y no largar tan cruda "la niña a la calle"....
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Filtro avanzado

Notapor KL » 13 Ago 2007 21:12

Hola Gali,
galileogali";p="39805 escribió:KL: digamos que no es un tema menor el que detectó Héctor, ya que ciertos criterios armados con fórmulas con rangos relativos, no dejan muchas más alternativas, salvo VBA. Entonces me pregunto: ¡Cuál es el tiempo de reacción de Microsoft para elaborar y publicar los Patches que resuelvan este y muchos otros tópicos!!!!????.
A veces tengo la sensación de que el area de control de calidad de los productos Microsoft, podria recurrir al sevicio de los principales foros de Excel, enviando betas para que los chequeemos entre todos.....y no largar tan cruda "la niña a la calle"....

Algo me decia que no tardarias en entrar. Ya he notado que tienes especial preferencia por esta funcionalidad de los filtros avanzados, tal vez por eso lo mencione :-) Pues comparto tu opinion, pero al parecer MS va a su bola y hace poco caso a las comunidades online en este sentido, aunque tambien es verdad que la beta de Vista y de MSO2007 esta vez ha incorporado bastante mas gente que en anteriores ocasiones.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid

Re: Filtro avanzado

Notapor Nin-i » 14 Ago 2007 07:02

Hola a todos otra vez...
ish! :x sigo con el mismo problema, la macro sigue sin funcionar incluso guardándolo como libro de Excel habilitado para macros y habilitando todas las macros aunque está (esté?) contraindicado (por lo menos para probar)

Teneis alguna otra sugerencia?
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Nin-i
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 Abr 2006 12:31

Re: Filtro avanzado

Notapor Nin-i » 14 Ago 2007 07:45

Chicos, ya está solucionado :D
si en excel 2007 especifico la hoja donde está el criterio y la hoja donde está el rango funciona, aunque en el XP funcione tal como ioyama escribió el código

Gracias a todos por la ayuda y por el tiempo invertido
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Nin-i
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 Abr 2006 12:31

Re: Filtro avanzado

Notapor galileogali » 14 Ago 2007 07:50

A ver ahora?

Código: Seleccionar todo
Sub Filtrar()
With Sheets("Datos")

uf = .Cells(Rows.Count, "A").End(xlUp).Row
    .Range("A1:E" & uf).AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("FORMULARIO").Range("C4:E5"), CopyToRange:=Sheets("FORMULARIO").Range("A8:E8"), Unique:=False

End With

End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
galileogali
Moderator
Moderator
 
Registrado: 07 Ene 2005 22:46
Ubicación: QUIROGA (ba), ARGENTINA

Re: Filtro avanzado

Notapor Nin-i » 14 Ago 2007 07:59

Gracias Gali!
También tu código funciona perfecto :D
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Nin-i
Miembro Frecuente
Miembro Frecuente
 
Registrado: 10 Abr 2006 12:31


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados