Filtros para una base de datos con macros

Tengo una base de datos de 10 columnas, cada columna es una categoría, de las 10 categorías, 2 son para determinar el sexo, 3 para el rango de edades y 5 con gustos de marcas de ropa, mi problema es que me pidieron hacer macro para que haga una gráfica con los datos seleccionados por medio de un useform y con checkbox, la verdad recién inicie mis estudios en visual basic, espero me pueda ayudar, teniendo un ejemplo yo pudiera hacer alguna replica.

1 respuesta

Respuesta
1
Es una pregunta muy general por lo que mejor es que veas varios ejemplos y busques el que mejor se adapte, así ademas ves el código y vas viendo como se maneja el control de gráficos.
http://www.vbcode.com/Asp/showzip.asp?ZipFile=http://www.vbcode.com/code/MSCHART_exaple01282003.zip&theID=8348
Te dejo el link de uno muy parecido a lo que pides, pero si buscas por 'Chart' en la misma web encontraras muchos más.
Si te surgen dudas implementándolo me comentas.
Muy buenos ejemplos dentro de la liga que me enviaste, muy agradecido, pero aun sigo teniendo problemas.
Ya logre conseguir hacer el gráfico sin mayor problema, ahora mi problema más grave es que de la base de datos, me piden hacer filtros de dos o más condicionantes, por ejemplo, me piden que en una columna de ropa lo filtre por blusas rojas, azules y verdes, como los filtros múltiples sobre una sola columna que ahora se pueden aplicar en excel 2007, pero en excel de 2003 no funcionan, ¿algún tipo de sugerencia?.
Este es el script del filtro múltiple en office 2007 (3 condicionantes)
Sub unodostres()
'1,2 y 3
  Sheets("BASE-TOTAL").Select
  Columns("E:E").Select
  Selection.AutoFilter
   ActiveSheet.Range("E:E").AutoFilter Field:=1, Criteria1:=Array("1", _
        "2", "estosdigitosloscambioyoporelvalordelfiltroquenecesito"), Operator:=xlFilterValues
End Sub
Y este de office 2003 (donde solo me permite hacer solo 2 filtros y el anterior no funciona en esta version, ¿alguna forma de hacerlo para que funcione en office 2003?)
Sub unodos()
    Sheets("BASE-TOTAL").Select
    Columns("E:E").Select
    Selection.AutoFilter
    ActiveSheet.Range("E:E").AutoFilter Field:=1, Criteria1:="=1", _
    Operator:=xlOr, Criteria2:="=2" 'aqui no se como poner una condicionante mas de filtrado sobre la columna
End Sub
Espero me puedas ayudar de antemano gracias por tu ayuda anterior
Para ese tipo de temas tan variable y complejo. Lo más cómodo seria usar una columna auxiliar adicional para filtrar.
Por ejemplo si pones ( IF((OR(A1="VERDE";A!="AZUL";A!="ROJO";1;0)) en la columna va a tener un 1 si comple el filtro y un 0 si no lo cumple. Luego ya es solo filtrar por ese campos.
Si lo quieres hacer más dinámico puedes poner varias columnas agrupadas para incluir los valores rojo, verde, etc.. y otra en la que acumules el 'total'
Si no te queda claro coméntamelo y preparamos un ejemplo..
Hola.
Gracias por el ejemplo, el detalle es que mi base ya esta codificada, es decir, al explicar mi duda parece que me falto dar un poquito más de detalle, todo esta agrupado en una sola columna, por comentar, rango de edades esta agrupado en una columna llamada edad, color, en otra, y así por decir que el color rojo equivale a uno, verde a 2, etc, etc, el detalle es que me piden que la columna se filtre por dos o más valores, es decir, si existen 9 colores codificados dentro de la columna, tengo 9!(362,880) combinaciones! De filtrado, ahí es donde no se que pueda hacer.
Espero explicarme algo más claro, si de antemano gustaras ver como es mi base, con todo gusto te la envío, te dejo mi correo es (xxxxxx) para ver si me puedes orientar, una vez más, te agradezco tu gran interés por ayudar no solo a mi sino a toda la demás gente.
Enviame el archivo a [email protected] , le doy un vistazo y con lo que sea vemos.
Muchas gracias.
Te he enviado el archivo para ver en que me puedes ayudar.
Saludos
Te he contestado en el mail, ya me dices.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas