Cambiar el rango de valores de las series de un gráfico

Verás, tengo en un libro de excel 20 hojas en las que pueden haber datos. Dependiendo de un parámetro introducido por el usuario habrán datos en más hojas o menos. Una vez rellenadas las hojas, hay otra hoja que contiene 20 gráficos, los cuales están rellenados con cada una de las hojas descritas anteriormente. El caso es que el contenido de éstas hojas pueden, no sólo cambiar de valor, si no que cambia la cantidad de datos, de manera que pueden haber más o menos filas.

Me gustaría, mediante código vba poder aumentar o disminuir el rango de las series de dichos gráficos según cambie la cantidad de datos de las hojas.

No sé si me he explicado bien, pero no es demasiado sencillo. Si no has entendido algo pregunta e intentaré explicarlo mejor.

1 Respuesta

Respuesta
1

Si entiendo bien lo que quieres no necesitas código VBA para ello. Se puede hacer definiendo rangos dinámicos y usándolos como datos para las series.

Por ejemplo supongamos que una serie de datos comienza en D7 y tiene datos en la columna D. Unas veces hasta D9 otras D10 otras D20...

Definimos el rango dinámico, en Formulas/Define Name. Escribimos su nombre "ValoresY" (sin las comillas) y en la referencia (Refers to) la fórmula:

=OFFSET(Sheet1!$D$7;0;0;COUNTA(Sheet1!$D:$D)-1)

Ahora en el gráfico escogemos editar la serie que queremos. Se puede hacer fácilmente haciendo el gráfico a la manera tradicional y pinchar en los datos fijos que teníamos para esa serie. Ahora en la barra de fórmulas editamos la serie, haciendo referencia al nombre en lugar de al rango que teníamos.

=SERIES("MiSerie";;Sheet1!ValoresY;1)

Pulsamos enter y listo. Ahora cuando añadamos o borremos valores en la columna D el gráfico se ajusta automáticamente.

Eso sí tienes que hacerlo para cada serie (grupo de valores).

Nota: Puedes probar fácilmente que la referencia es correcta introduciendo "Data Validation" en una celda cualquiera, indicando "List" en "Allow" y escribiendo =ValoresY en "Data". Al seleccionar esa celda te aparecerá un desplegable para que escojas uno de los valores del rango

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas