Gráfico con filtro avanzado y rangos variables

Acudo a su ayuda porque no se cómo resolver un problema con gráficos de rango variable y filtros con fórmula.

Lo que quisiera es hacer un gráfico que se actualice automáticamente cuando yo modifico el valor de una celda en particular. Lo que tengo es el dato de la población por localidad para 134 partidos de una provincia (en total, más de 900 localidades). El objetivo es que yo escriba en una celda del Excel "Partido A" (no quiero una lista desplegable) y que el gráfico me traiga en el eje "x" todas las localidades que lo conforman y en el eje "y" la cantidad de personas de cada localidad. Estas localidades ordenadas de mayor a menor población.

El problema está en que no todos los partidos tienen la misma cantidad de localidades.

Intenté hacer un gráfico dinámico, pero no me sirve porque yo no puedo insertar una fórmula en el filtro de la tabla dinámica asociada. Tampoco pude hacer el gráfico con una tabla porque no puedo hacer un gráfico con, por ejemplo, 7 localidades cuando antes hice uno con 10 localidades. En el gráfico quedan 3 lugares vacíos.

Respuesta
1

Te anexo una opción con gráfico dinámico.

Suponiendo que tus datos están así:

Y creas un gráfico dinámico de esta forma, pero pones el partido como filtro de informe, puedes seleccionar el partido o los partidos en el filtro de informe.


Si la gráfica está bien, pero prefieres escribir el partido en una celda, por ejemplo la celda F1. Te anexo la macro para que la tabla y la gráfica se actualicen con lo que escribas en la celda F1.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    Application.ScreenUpdating = False
    If Target.Address(False, False) = "F1" Then
        ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("PARTIDO"). _
            ClearAllFilters
        ActiveSheet.PivotTables("Tabla dinámica2").PivotFields("PARTIDO").CurrentPage _
            = Target.Value
    End If
End Sub


Tienes que poner la macro en los eventos de tu hoja.

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

También te anexo mi archivo para que revises el funcionamiento.

https://www.dropbox.com/s/2bzbt2s37l5nneq/grafica%20con%20filtro%20dinamico.xlsm?dl=0 


Se pasó comentarte, si quieres seleccionar varios elementos, puedes hacerlo desde el filtro del informe.


Hola!

Quería hacerte una consulta. Es posible hacer que la celda que yo modifico (que bautizaste como "F1") se ubique en otra hoja del mismo libro de Excel? Cómo se pone una ruta en el lenguaje VBA? En las fórmulas de Excel es fácil porque va el nombre de la hoja seguida de la celda que corresponde, por ejemplo "+Datos!F1". Pero en macros no se qué comando se utiliza. 

Gracias!

En este caso no aplica, porque la macro verifica la celda de la hoja que tiene la macro.

En VBA se pone así Sheets("Hoja2"). Range("F1")

Pero no entiendo qué es lo que pretendes.

Si tus datos están en la hoja1 y vas a la hoja2 y modificas la celda F1, la macro no se activa, porque la macro está en la hoja1.

Lo que puedes hacer es mover toda la macro a la hoja2, entonces cuando modifiques la celda F1 de la hoja 2, la macro se activará, pero entonces la tabla dinámica2 deberá estar en la hoja 2.

Lo anterior es suponiendo que vas a tener los datos en la hoja1 y en la hoja2 la tabla dinámica, pero en realidad no sé si es lo que quieres

1 respuesta más de otro experto

Respuesta

Este ejemplo sobre como determinar rangos variables

http://www.programarexcel.com/2014/12/como-determinar-un-rango-variable-en.html 

Gracias marcrodos marcrodos. Corrí la macro del link que me pasaste pero lo que hace es seleccionar el rango variable pero no me hace un gráfico que se ajuste según tenga más o menos datos a graficar en el eje "x".

Mil gracias!

Acá hay un ejemplo más específico, si modificas los datos se vuelve a dibujar el gráfico.

Con el botón insertas dos gráficos uno de torta y otro de barra.

http://www.programarexcel.com/2014/07/macro-inserta-grafico-en-excel.html 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas