Gráfico en formulario tomando datos de una hoja

26/04/2005 - 12:38 por emilio | Informe spam
Hola a tod@s,

llevo toda la mañana peleandome con esto y no doy con la tecla, estoy
intentando mostrar un gráfico en unformulario, basado en datos de una hoja,
siguiendo las indicaciones de Hector Miguel en hilos anteriores he llegado a
mostrar un gráfico con una unica serie, sin embargo cuando intento añadir
otra serie, ya no funciona, el error se produce en
".SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"" y
dice "parámetro no valido"
Tampoco me muestra correctamente el eje de las X pues me muestra una serie
de numeros correlativos y no las fechas que hay en la columna A.
¿Alguién puede darme alguna idea?
Gracias a tod@s, el código que uso es el siguiente

Sub Actualiza()
Dim Fila As Byte, _
Col As Byte, _
Dato As Variant, _
Cc As Object

With Spreadsheet1
.Cells(1, 1) = "Fecha"
.Cells(1, 2) = "Uno"
.Cells(1, 3) = "Dos"

For Col = 2 To 4
For Fila = 8 To 25
Dato = Worksheets("Informe").Cells(Fila, Col)
.Cells(Fila - 6, Col - 1) = Dato
If Col = 2 Then
.Cells(Fila - 6, Col - 1).NumberFormat = "d-mmm-yy"
Else
.Cells(Fila - 6, Col - 1).NumberFormat = "0.00"
End If
Next
Next
End With
With ChartSpace1
.Clear
Set Cc = .Constants
Set .DataSource = Me.Spreadsheet1
.Charts.Add
With .Charts(0)
.Type = Cc.chChartTypeLine
.SetData Cc.chDimCategories, 0, "a1:a17"

.SetData Cc.chDimSeriesNames, 0, "b1"
.SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b17"
.SeriesCollection.Add
.SetData Cc.chDimSeriesNames, 0, "C1"
.SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"

End With
End With
End Sub

Preguntas similare

Leer las respuestas

#1 KL
26/04/2005 - 13:33 | Informe spam
Hola Emilio,

Esto tiene mucho curro :-) Podrias enviar el fichero a mi correo electronico
para no tener que reconstruir todo el libro.

Saludos,
KL

"emilio" wrote in message
news:
Hola a ,

llevo toda la mañana peleandome con esto y no doy con la tecla, estoy
intentando mostrar un gráfico en unformulario, basado en datos de una
hoja,
siguiendo las indicaciones de Hector Miguel en hilos anteriores he llegado
a
mostrar un gráfico con una unica serie, sin embargo cuando intento añadir
otra serie, ya no funciona, el error se produce en
".SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"" y
dice "parámetro no valido"
Tampoco me muestra correctamente el eje de las X pues me muestra una serie
de numeros correlativos y no las fechas que hay en la columna A.
¿Alguién puede darme alguna idea?
Gracias a , el código que uso es el siguiente

Sub Actualiza()
Dim Fila As Byte, _
Col As Byte, _
Dato As Variant, _
Cc As Object

With Spreadsheet1
.Cells(1, 1) = "Fecha"
.Cells(1, 2) = "Uno"
.Cells(1, 3) = "Dos"

For Col = 2 To 4
For Fila = 8 To 25
Dato = Worksheets("Informe").Cells(Fila, Col)
.Cells(Fila - 6, Col - 1) = Dato
If Col = 2 Then
.Cells(Fila - 6, Col - 1).NumberFormat = "d-mmm-yy"
Else
.Cells(Fila - 6, Col - 1).NumberFormat = "0.00"
End If
Next
Next
End With
With ChartSpace1
.Clear
Set Cc = .Constants
Set .DataSource = Me.Spreadsheet1
.Charts.Add
With .Charts(0)
.Type = Cc.chChartTypeLine
.SetData Cc.chDimCategories, 0, "a1:a17"

.SetData Cc.chDimSeriesNames, 0, "b1"
.SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b17"
.SeriesCollection.Add
.SetData Cc.chDimSeriesNames, 0, "C1"
.SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"

End With
End With
End Sub
Respuesta Responder a este mensaje
#2 Emilio
26/04/2005 - 13:44 | Informe spam
Si claro, pero ¿a que cuenta te lo mando?, no veo ninguna

Muchisimas gracias

Saludos a
Emilio

"KL" escribió:

Hola Emilio,

Esto tiene mucho curro :-) Podrias enviar el fichero a mi correo electronico
para no tener que reconstruir todo el libro.

Saludos,
KL

"emilio" wrote in message
news:
> Hola a ,
>
> llevo toda la mañana peleandome con esto y no doy con la tecla, estoy
> intentando mostrar un gráfico en unformulario, basado en datos de una
> hoja,
> siguiendo las indicaciones de Hector Miguel en hilos anteriores he llegado
> a
> mostrar un gráfico con una unica serie, sin embargo cuando intento añadir
> otra serie, ya no funciona, el error se produce en
> ".SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"" y
> dice "parámetro no valido"
> Tampoco me muestra correctamente el eje de las X pues me muestra una serie
> de numeros correlativos y no las fechas que hay en la columna A.
> ¿Alguién puede darme alguna idea?
> Gracias a , el código que uso es el siguiente
>
> Sub Actualiza()
> Dim Fila As Byte, _
> Col As Byte, _
> Dato As Variant, _
> Cc As Object
>
> With Spreadsheet1
> .Cells(1, 1) = "Fecha"
> .Cells(1, 2) = "Uno"
> .Cells(1, 3) = "Dos"
>
> For Col = 2 To 4
> For Fila = 8 To 25
> Dato = Worksheets("Informe").Cells(Fila, Col)
> .Cells(Fila - 6, Col - 1) = Dato
> If Col = 2 Then
> .Cells(Fila - 6, Col - 1).NumberFormat = "d-mmm-yy"
> Else
> .Cells(Fila - 6, Col - 1).NumberFormat = "0.00"
> End If
> Next
> Next
> End With
> With ChartSpace1
> .Clear
> Set Cc = .Constants
> Set .DataSource = Me.Spreadsheet1
> .Charts.Add
> With .Charts(0)
> .Type = Cc.chChartTypeLine
> .SetData Cc.chDimCategories, 0, "a1:a17"
>
> .SetData Cc.chDimSeriesNames, 0, "b1"
> .SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b17"
> .SeriesCollection.Add
> .SetData Cc.chDimSeriesNames, 0, "C1"
> .SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"
>
> End With
> End With
> End Sub



Respuesta Responder a este mensaje
#3 KL
26/04/2005 - 13:46 | Informe spam
Hola otra vez,

Asi a bote pronto - has mirado el sitio de John Peltier sobre los Graficos.
Sin haber analizado tu codigo muy a fondo, es posible que tengas uno de los
problemas expuestos en el primer cuadro blanco de esta pagina :
http://www.peltiertech.com/Excel/Ch...rtVBA.html

Saludos,
KL

"emilio" wrote in message
news:
Hola a ,

llevo toda la mañana peleandome con esto y no doy con la tecla, estoy
intentando mostrar un gráfico en unformulario, basado en datos de una
hoja,
siguiendo las indicaciones de Hector Miguel en hilos anteriores he llegado
a
mostrar un gráfico con una unica serie, sin embargo cuando intento añadir
otra serie, ya no funciona, el error se produce en
".SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"" y
dice "parámetro no valido"
Tampoco me muestra correctamente el eje de las X pues me muestra una serie
de numeros correlativos y no las fechas que hay en la columna A.
¿Alguién puede darme alguna idea?
Gracias a , el código que uso es el siguiente

Sub Actualiza()
Dim Fila As Byte, _
Col As Byte, _
Dato As Variant, _
Cc As Object

With Spreadsheet1
.Cells(1, 1) = "Fecha"
.Cells(1, 2) = "Uno"
.Cells(1, 3) = "Dos"

For Col = 2 To 4
For Fila = 8 To 25
Dato = Worksheets("Informe").Cells(Fila, Col)
.Cells(Fila - 6, Col - 1) = Dato
If Col = 2 Then
.Cells(Fila - 6, Col - 1).NumberFormat = "d-mmm-yy"
Else
.Cells(Fila - 6, Col - 1).NumberFormat = "0.00"
End If
Next
Next
End With
With ChartSpace1
.Clear
Set Cc = .Constants
Set .DataSource = Me.Spreadsheet1
.Charts.Add
With .Charts(0)
.Type = Cc.chChartTypeLine
.SetData Cc.chDimCategories, 0, "a1:a17"

.SetData Cc.chDimSeriesNames, 0, "b1"
.SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b17"
.SeriesCollection.Add
.SetData Cc.chDimSeriesNames, 0, "C1"
.SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17"

End With
End With
End Sub
Respuesta Responder a este mensaje
#4 KL
26/04/2005 - 13:51 | Informe spam
quitando NOSPAM y PLEASE

KL


"Emilio" wrote in message
news:
Si claro, pero ¿a que cuenta te lo mando?, no veo ninguna

Muchisimas gracias

Saludos a
Emilio

"KL" escribió:

Hola Emilio,

Esto tiene mucho curro :-) Podrias enviar el fichero a mi correo
electronico
para no tener que reconstruir todo el libro.

Saludos,
KL

"emilio" wrote in message
news:
> Hola a ,
>
> llevo toda la mañana peleandome con esto y no doy con la tecla, estoy
> intentando mostrar un gráfico en unformulario, basado en datos de una
> hoja,
> siguiendo las indicaciones de Hector Miguel en hilos anteriores he
> llegado
> a
> mostrar un gráfico con una unica serie, sin embargo cuando intento
> añadir
> otra serie, ya no funciona, el error se produce en
> ".SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17""
> y
> dice "parámetro no valido"
> Tampoco me muestra correctamente el eje de las X pues me muestra una
> serie
> de numeros correlativos y no las fechas que hay en la columna A.
> ¿Alguién puede darme alguna idea?
> Gracias a , el código que uso es el siguiente
>
> Sub Actualiza()
> Dim Fila As Byte, _
> Col As Byte, _
> Dato As Variant, _
> Cc As Object
>
> With Spreadsheet1
> .Cells(1, 1) = "Fecha"
> .Cells(1, 2) = "Uno"
> .Cells(1, 3) = "Dos"
>
> For Col = 2 To 4
> For Fila = 8 To 25
> Dato = Worksheets("Informe").Cells(Fila, Col)
> .Cells(Fila - 6, Col - 1) = Dato
> If Col = 2 Then
> .Cells(Fila - 6, Col - 1).NumberFormat = "d-mmm-yy"
> Else
> .Cells(Fila - 6, Col - 1).NumberFormat = "0.00"
> End If
> Next
> Next
> End With
> With ChartSpace1
> .Clear
> Set Cc = .Constants
> Set .DataSource = Me.Spreadsheet1
> .Charts.Add
> With .Charts(0)
> .Type = Cc.chChartTypeLine
> .SetData Cc.chDimCategories, 0, "a1:a17"
>
> .SetData Cc.chDimSeriesNames, 0, "b1"
> .SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b17"
> .SeriesCollection.Add
> .SetData Cc.chDimSeriesNames, 0, "C1"
> .SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound,
> "C2:C17"
>
> End With
> End With
> End Sub



Respuesta Responder a este mensaje
#5 Emilio
26/04/2005 - 14:09 | Informe spam
Grcias KL, va para allá, en cuanto al otro mensaje, creo que no van por ahí
los tiros

Muchisímas gracias
Saludos
Emilio

"KL" escribió:

quitando NOSPAM y PLEASE

KL


"Emilio" wrote in message
news:
> Si claro, pero ¿a que cuenta te lo mando?, no veo ninguna
>
> Muchisimas gracias
>
> Saludos a
> Emilio
>
> "KL" escribió:
>
>> Hola Emilio,
>>
>> Esto tiene mucho curro :-) Podrias enviar el fichero a mi correo
>> electronico
>> para no tener que reconstruir todo el libro.
>>
>> Saludos,
>> KL
>>
>> "emilio" wrote in message
>> news:
>> > Hola a ,
>> >
>> > llevo toda la mañana peleandome con esto y no doy con la tecla, estoy
>> > intentando mostrar un gráfico en unformulario, basado en datos de una
>> > hoja,
>> > siguiendo las indicaciones de Hector Miguel en hilos anteriores he
>> > llegado
>> > a
>> > mostrar un gráfico con una unica serie, sin embargo cuando intento
>> > añadir
>> > otra serie, ya no funciona, el error se produce en
>> > ".SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound, "C2:C17""
>> > y
>> > dice "parámetro no valido"
>> > Tampoco me muestra correctamente el eje de las X pues me muestra una
>> > serie
>> > de numeros correlativos y no las fechas que hay en la columna A.
>> > ¿Alguién puede darme alguna idea?
>> > Gracias a , el código que uso es el siguiente
>> >
>> > Sub Actualiza()
>> > Dim Fila As Byte, _
>> > Col As Byte, _
>> > Dato As Variant, _
>> > Cc As Object
>> >
>> > With Spreadsheet1
>> > .Cells(1, 1) = "Fecha"
>> > .Cells(1, 2) = "Uno"
>> > .Cells(1, 3) = "Dos"
>> >
>> > For Col = 2 To 4
>> > For Fila = 8 To 25
>> > Dato = Worksheets("Informe").Cells(Fila, Col)
>> > .Cells(Fila - 6, Col - 1) = Dato
>> > If Col = 2 Then
>> > .Cells(Fila - 6, Col - 1).NumberFormat = "d-mmm-yy"
>> > Else
>> > .Cells(Fila - 6, Col - 1).NumberFormat = "0.00"
>> > End If
>> > Next
>> > Next
>> > End With
>> > With ChartSpace1
>> > .Clear
>> > Set Cc = .Constants
>> > Set .DataSource = Me.Spreadsheet1
>> > .Charts.Add
>> > With .Charts(0)
>> > .Type = Cc.chChartTypeLine
>> > .SetData Cc.chDimCategories, 0, "a1:a17"
>> >
>> > .SetData Cc.chDimSeriesNames, 0, "b1"
>> > .SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b17"
>> > .SeriesCollection.Add
>> > .SetData Cc.chDimSeriesNames, 0, "C1"
>> > .SeriesCollection(1).SetData Cc.chDimValues, Cc.chDataBound,
>> > "C2:C17"
>> >
>> > End With
>> > End With
>> > End Sub
>>
>>
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida