Grafico en Formulario

24/09/2004 - 18:43 por lex | Informe spam
Es posible introducir un Grafico (que no sea por imagen,
sino que sea un grafico activo)en un Formulario y como?

Preguntas similare

Leer las respuestas

#1 Fer
25/09/2004 - 06:10 | Informe spam
Hola lex:

Tengo un ejemplo para darte, pero no se si te sirve
ejecutas el procedimiento, toma los valores de la tabla y los vuelca en un
userform, pero como imagen.
Para modificarlo tienes que cambiar los datos de la tabla y volver a
ejecutar el procedimiento

Saludos, fer

"lex" escribió en el mensaje
news:192201c4a255$a34626a0$
Es posible introducir un Grafico (que no sea por imagen,
sino que sea un grafico activo)en un Formulario y como?
Respuesta Responder a este mensaje
#2 Héctor Miguel
25/09/2004 - 10:06 | Informe spam
hola, lex !

... un Grafico (que no sea por imagen, sino que sea un grafico activo) en un Formulario [...]



puedes incrustar un grafico [inter-]activo [NO imagen] en un formulario si...
-> agregas dos controles a tu formulario de la serie 'office web components'...
1 control 'Spreadsheet' y 1 control 'ChartSpace'
si no los tienes disponibles en la caja de herramientas de vba, los puedes agregar con...
-> click-derecho [en algun lugar 'vacio' de la caja de herramientas] -> mas controles...
[los encuentras por orden alfabetico como Microsoft Office Chart/Spreadshet x.0]
-> 1° el objeto 'spreadsheet' y lo 'casas' con los datos de alguna hoja de calculo y...
-> 2° el objeto 'chartspace' lo enlazas a los datos del objeto 'spreadsheet'
[puedes 'ocultar' en el formulario el 'spreadsheet' si le encimas en 'chartspace']

te expongo los codigos de un ejemplo suponiendo un grafico de lineas con 'origen' en 'A1:B5' de la hoja1
si cualquier duda... ¿comentas?
saludos,
hector.
en el modulo de codigo del formulario ==Private Sub UserForm_Activate()
Actualiza
End Sub
Private Sub UserForm_Terminate()
GraficoAlaVista = False
End Sub
Sub Actualiza()
Dim Fila As Byte, Col As Byte, Dato
With Spreadsheet1
For Col = 1 To 2
For Fila = 1 To 5
Dato = Worksheets("Hoja1").Cells(Fila, Col)
.Cells(Fila, Col) = Dato
Next
Next
End With
With ChartSpace1: .Clear
Set Cc = .Constants
Set .DataSource = Me.Spreadsheet1
.Charts.Add
With .Charts(0)
.Type = Cc.chChartTypeLineMarkers
.SetData Cc.chDimCategories, 0, "a2:a5"
.SetData Cc.chDimSeriesNames, 0, "b1"
.SeriesCollection(0).SetData Cc.chDimValues, 0, "b2:b5"
End With
End With
End Sub
en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1:b5")) Is Nothing Then Exit Sub
If Not GraficoAlaVista Then Exit Sub
UserForm1.Actualiza
End Sub
en un modulo de codigo 'normal' ==Public GraficoAlaVista As Boolean
Sub MostrarFormulario()
UserForm1.Show vbModeless
GraficoAlaVista = True
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida