AutoFilter mediante VBA

22/03/2005 - 20:05 por SG Web Design - Sergio Gattelet | Informe spam
Hola Grupo,

Quisiera saber si es posible el empleo de AutoFilter o AutoFilter Avanzado
para ejecutarlo por medio de vba y filtrar de esta manera una lista de
articulos.

Viendo todas las posibilidades creo que el uso de autofilter es lo mas
apropiado para mostrar las coincidencias de un campo determinado.

Sergio.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/03/2005 - 03:02 | Informe spam
hola, Sergio !

... saber si es posible el... AutoFilter o AutoFilter Avanzado... por medio de vba y filtrar... una lista de articulos.
... creo que... autofilter es lo mas apropiado para mostrar las coincidencias de un campo determinado.



-> si es posible utilizar los filtros [auto y avanzados] por codigo desde vba de excel
-> considerando que 'un campo determinado' pudiera ser un campo_fecha/numero/texto/etc.
necesitaras utilizar 'comodines' para los criterios de filtrado como: es_igual_a, contiene, no_contiene, etc.
-> puedes consultar su uso [y ejemplos] en la ayuda de vba-excel
o... podrias proporcionar datos mas 'precisos' que 'determinados'
[como cual es el rango -y la hoja-... de donde 'se toma' -y como 'se construye'- el criterio... etc.]
para poder 'acercarnos' a una propuesta que [realmente] satisfaga tus requerimientos

comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 KL
23/03/2005 - 09:13 | Informe spam
Sergio,

Nota: Cuelgo este posting del de Hector Miguel porque por alguna razon tu
mensaje original no aparece en mi Outlook Express.

Seguramente encontraras interesantes los siguientes enlaces:

http://www.contextures.com/xlautofilter03.html
http://www.contextures.com/xladvfilter01.html

Saludos,
KL

"Héctor Miguel" wrote in message
news:
hola, Sergio !

... saber si es posible el... AutoFilter o AutoFilter Avanzado... por
medio de vba y filtrar... una lista de articulos.
... creo que... autofilter es lo mas apropiado para mostrar las
coincidencias de un campo determinado.



-> si es posible utilizar los filtros [auto y avanzados] por codigo desde
vba de excel
-> considerando que 'un campo determinado' pudiera ser un
campo_fecha/numero/texto/etc.
necesitaras utilizar 'comodines' para los criterios de filtrado como:
es_igual_a, contiene, no_contiene, etc.
-> puedes consultar su uso [y ejemplos] en la ayuda de vba-excel
o... podrias proporcionar datos mas 'precisos' que 'determinados'
[como cual es el rango -y la hoja-... de donde 'se toma' -y como 'se
construye'- el criterio... etc.]
para poder 'acercarnos' a una propuesta que [realmente] satisfaga tus
requerimientos

comentas?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Ing. Humberto García
23/03/2005 - 17:27 | Informe spam
El comando para habilitar el Autofiltro es:

Selection.AutoFilter

Se debe considerar que al menos se tiene seleccionada una
celda que contiene uno de los titulos de la lista de
datos.
El comando para establecer los criterios del filtro es


Selection.AutoFilter Field:=2, Criteria1:="Enero"

Field es el número de campo y no importa el nombre del
campo. Se pueden establecer hasta dos criterios

Selection.AutoFilter Field:=3, _
Criteria1:="7",Operator:=xlAnd, Criteria2:="<2"

Saludos. Espero que sirva de algo.
Respuesta Responder a este mensaje
#4 KL
23/03/2005 - 18:05 | Informe spam
Humberto,

Que tal si te digo que para introducir el AutoFiltro por codigo no es
necesario seleccionar nada. Se puede hacer por referencia a todo el rango o
a una celda cualquiera de ese:

si la tabla esta en el rango [A1:C30], se puede hacer:

ActiveSheet.Range("A1:C30").AutoFilter

o

ActiveSheet.Range("A1").AutoFilter

o

ActiveSheet.Range("C30").AutoFilter

independientemente de que celda de la hoja activa esta seleccionada.

Esta misma instruccion vale para quitar el AutoFiltro.

Saludos,
KL


"Ing. Humberto García" wrote in
message news:0d1001c52fc5$391a87f0$
El comando para habilitar el Autofiltro es:

Selection.AutoFilter

Se debe considerar que al menos se tiene seleccionada una
celda que contiene uno de los titulos de la lista de
datos.
El comando para establecer los criterios del filtro es


Selection.AutoFilter Field:=2, Criteria1:="Enero"

Field es el número de campo y no importa el nombre del
campo. Se pueden establecer hasta dos criterios

Selection.AutoFilter Field:=3, _
Criteria1:="7",Operator:=xlAnd, Criteria2:="<2"

Saludos. Espero que sirva de algo.
Respuesta Responder a este mensaje
#5 SG Web Design - Sergio Gattelet
23/03/2005 - 20:34 | Informe spam
Amigos,
bueno lo que dice KL, esta en lo correcto ya que lo he comprobado.
El codigo que empleo para filtrarlos esta excelente y lo muestro a
continuacion:

Range("A1").AutoFilter Field:=icampo, Criteria1:="*" & TextBoxBusqueda.Text
& "*"

con esta unica linea de codigo puedo filtrar por cualquier campo y de manera
agil.
el valor de icampo lo obtengo recorriendo la propiedad Value de varios
OptinonButton y guarda un valor numerico que concuerda con la ubicacion de
la columna a filtrar.
TextBoxBusqueda.Text es el criterio a buscar por el campo seleccionado.

Quisiera realizar un par de preguntas para mejorar la aplicacion:
1. hay alguna manera de conocer la cantidad de registros filtrados por medio
de alguna propiedad de AutoFilter.
2. con respecto a los controles en vba, se permite que los mismos estes en
array, es decir compartan el mismo nombre pero lo que cambia es el indice,
como por ejemplo VB.

Aguardo su respuesta,
Saludos



"SG Web Design - Sergio Gattelet" escribió en el mensaje
news:
Hola Grupo,

Quisiera saber si es posible el empleo de AutoFilter o AutoFilter Avanzado
para ejecutarlo por medio de vba y filtrar de esta manera una lista de
articulos.

Viendo todas las posibilidades creo que el uso de autofilter es lo mas
apropiado para mostrar las coincidencias de un campo determinado.

Sergio.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida