En primer lugar, Mauricio, quiero darte las gracias por tu libro y por tu respuesta. La verdad es que, después de haber pasado innumerables horas con tu libro, es un placer poder contar con una respuesta tuya.
En segundo lugar, lo he intentado de todas las formas que se me han ocurrido y nada.
Mi intención es hacer una macro con la que poder modificar el rango de datos de un gráfico (Grafico01) previamente creado. El código que utilizo es este:
Código: Seleccionar todo
Sub MODIFICAR_GRAFICO()
'********************************************** DEFINICIÓN DE VARIABLES.
Dim oLIBRO As Object
Dim oHojaDatos As Object
Dim oHojaGraficos As Object
Dim oGraficos As Object
Dim oGrafico as object
Dim oDir As New com.sun.star.table.CellRangeAddress
Dim mRangos(0)
'********************************************** DEFINICIÓN DE LIBRO Y HOJAS.
oLIBRO=ThisComponent
oHojaDatos=oLIBRO.getSheets.getByName("CARGAR_HISTORICO")
oHojaGraficos=oLIBRO.getSheets.getByName("GRAFICOS")
'********************************************** CARGANDO GRÁFICO.
oGraficos=oHojaGraficos.getCharts()
oGrafico = oGraficos.getBYName("Grafico01").getEmbeddedObject()
'********************************************** MODIFICANDO ORIGEN DE DATOS.
With oDir
.Sheet = oHojaDatos.getRangeAddress.Sheet
.StartColumn = 1
.EndColumn = 4
.StartRow = 10
.EndRow = 30
End With
mRangos(0) = oDir
oGrafico.setRanges(mRangos)
End sub
Pero no hay manera. Aunque parece algo sencillo, me da error el setRanges. Te agradecería que me indicaras cuál es el error o de qué otra forma podría conseguir lo que quiero. Muchísimas gracias por tu atención.