Manipulación de Rango de datos de gráficos excel en ma

Quiero poder gestionar la cadena establecida como rango del chart seleccionado, recuperarla y, modificar los valores de celda, para asignarlo de nuevo, tal y como puedo hacer sobre las series establecidas.
Desde código macro, al ejecutar el proceso de cambio de series, el valor del rango del gráfico, se pierde y, solo consigo asignarlo creando un nuevo gráfico, no recuperarlo.
¿Existe alguna manera de realizar esta acción?.
Al crear un gráfico:
 ActiveChart.SetSourceData Source:=Sheets("hoja1").Range("A8:A31,Q8:AE31"), PlotBy:=xlRows
Quiero poder recuperarlo, para modificarlo y asignarlo con esta sentencia, pero no consigo encontrar la manera. ¿Alguna idea?
Gracias
Respuesta
1
¿Cuándo quieres cambiar el rango es para hacerlo más grande o simplemente cambian los valores y es el mismo tamaño?
Hola!
Pretendo obtener el rango (y si fuera posible saber si es por filas o columnas), para poder ampliarlo. La zona de datos, se incrementa en una o varias filas y, el gráfico asociado, al nivel de series, se adapta a ese cambio.
Sin embargo, el rango se pierde, por lo que pretendo recuperar la cadena, ampliar el valor de celda según necesidad y, volver a asignarlo.
Pero de momento, solo he visto como asignarlo directamente, son setSourceData.
Tienes que hacer una asignación para recuperar la serie:
Dim pSeries As Object
    Set pSeries = ActiveChart.SeriesCollection
Luego puedes mirar las propiedades:
Fórmula, formulalocal, etc para recuperar los datos
Para ver si los datos van por filas o por columnas mira la propiedad PotBy del objeto Chart.
Muchas gracias por la respuesta!
Ante todo Feliz año nuevo y disculpas por la demora en la respuesta... vacaciones y esas cosas, que me han impedido responder antes (además de un problema de acceso al correo).
Estoy probando lo que me has indicado. Puedo acceder a la fórmula y la fórmula local (misma expresión, pero con otro separador), también puede ver como esta el gráfico, ¿pero... como puedo obtener la cadena con el rango?
Un saludo y muchas gracias
P.D.: Siento el retraso en la respuesta
¿No estaba en lo que te dije? Si mal no recuerdo aparecían las celdas que lo definen..
A las buenas de nuevo.
En la explicación que me diste, he encontrado cosas muy útiles, muchas gracias. Pero no he sabido como gestionar el rango. Si seleccionas un gráfico excel, y accedes a la opción de menú emergente "Datos de Origen", la pestaña "Rango de datos", muestra una cadena en el campo "Rango de datos".
A través de una macro, obtengo el nombre del gráfico, las series y sus valores... si las series son por fila o columna... Esta información la guardo en una serie de arrays, para cada gráfico, por cada hoja.
Según ciertas condiciones, las fórmulas que definen las seires, se incrementan en una fila, gestión de cambio de fórmulas que puedo hacer. El problema, es que cuando actualizó los cambios de fórmulas de las series de un gráfico, el valor que existía en el rango, desaparece y, me gustaría mantenerlo... si es posible.
Intente ver como se hace por grabación de macros, pero, solo veo como asignarle valor, con el sourceData. No he podido consultar el rango para modificarlo...
Espero haberme explicado bien.
Un saludo
Disculpa el retraso, ando liado y no tengo mucho tiempo para hacer todo lo que debo.
He estado mirando el objeto graph y así al pronto no veo una forma clara de hacerlo. He hecho alguna prueba usando nombres, pero los reemplaza por su valor.
Me lo apuntaré para cuando tengas más tiempo pero me temo que no voy a poderte ayudar mucho más en este momento.
Muchas gracias por el esfuerzo de mirarlo.
Es algo "puntual", pero, que me plantea ciertos problemas, más a nivel de presentación al usuario que otra. Lo intentare de otra manera.
Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas