GRÁFICOS DINÁMICOS

07/10/2003 - 12:56 por xuank | Informe spam
Estoy intentando usar nombres de rango dinámicos para hacer que un gráfico
represente automáticamente nuevos datos al ser agregados a su hoja, pero no
me sale.

He leido que hay que poner una fórmula parecida a la siguiente en la fórmula
SERIES:

asignando por ejemplo un nombre Fecha a la siguiente definición:

ÞSPLAZAMIENTO(Hoja1!$A$1;1;0;CONTARA($A:$A)-1)

¿Alguien me puede decir donde está el error?

Muchas gracias a tod@s
 

Leer las respuestas

#1 pepito
07/10/2003 - 19:21 | Informe spam
Te envío una rutina que utilizo. Tendrás que adaptarla.


Private Sub HacerGrafico(Libro)

Set ExcelLibroGrafico = LibroExcel(AplicacionExcel, _
Directorio & Libro & ".xls")

For Each objHoja In ExcelLibroGrafico.Worksheets

Modelo = objHoja.Name

Sheets(Modelo).Select

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate
UltimaFilaHoja = ActiveCell.Row
Rango = "A2:L" & Trim$(Str(UltimaFilaHoja))

Sheets(Modelo).ChartObjects.Delete ' borro todos los gráficos de la
hoja
Set Grafico = Sheets(Modelo).ChartObjects.Add(250, 200, 600, 400)
Grafico.Chart.ChartWizard Source:=Worksheets(Modelo).Range(Rango), _
Gallery:=xlLine, PlotBy:=xlColumns, CategoryLabels:=1,
SeriesLabels:=1
Sheets(Modelo).ChartObjects(1).Left = 10
Sheets(Modelo).ChartObjects(1).Top = 60 + UltimaFilaHoja * 12
Grafico.Activate
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = Modelo
.SeriesCollection(1).Name = "=""Total"""
.SeriesCollection(2).Name = "=""Nombre1"""
.SeriesCollection(3).Name = "=""Nombre2"""
.SeriesCollection(4).Name = "=""Nombre3"""
.SeriesCollection(5).Name = "=""Nombre4"""
.SeriesCollection(6).Name = "=""Nombre5"""
.SeriesCollection(7).Name = "=""Nombre6"""
.SeriesCollection(8).Name = "=""Nombre7"""
.SeriesCollection(9).Name = "=""Nombre8"""
.SeriesCollection(10).Name = "=""Nombre9"""
.SeriesCollection(11).Name = "=""Nombre10"""
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Fechas"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Número de
documentos"
End With

ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With

' selecciono la celda a1 para quitar
' el foco del gráfico
Sheets(Modelo).Range("A1").Select

' MsgBox "La ventana activa es " & ActiveWindow.Caption & vbCrLf & _
"La hoja es " & Modelo

ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1


Next


ExcelLibroGrafico.Save
ExcelLibroGrafico.Close

Set ExcelLibroGrafico = Nothing

End Sub



"xuank" escribió en el mensaje
news:fZwgb.146499$
Estoy intentando usar nombres de rango dinámicos para hacer que un gráfico
represente automáticamente nuevos datos al ser agregados a su hoja, pero


no
me sale.

He leido que hay que poner una fórmula parecida a la siguiente en la


fórmula
SERIES:

asignando por ejemplo un nombre Fecha a la siguiente definición:

ÞSPLAZAMIENTO(Hoja1!$A$1;1;0;CONTARA($A:$A)-1)

¿Alguien me puede decir donde está el error?

Muchas gracias a


Preguntas similares