Grafico en Listbox
Publicado por Albert (204 intervenciones) el 24/02/2015 12:09:03
Apreciados foreros, tengo un problema al cargar un grafico en un listbox, vamos por partes
He montado una tabla dinámica en un Excel y de ese filtro saco un grafico, para ver la tabla dinámica en un listbox de un formulario uso el siguiente código
funciona perfecto, el problema es cuando se carga el grafico que he intentado hacerlo con la siguiente instrucción
ActiveChart.Location Where:=xlLocationAsAnualidades.ListBox2 (el grafico se llama Anulidades)
me da el error 424 en tiempo de ejecución
Seguro que no he puesto bien la instrucción he probado poniendo un . entre As y anualidades pero no encuentro la solución.
Segundo problema:
Quisiera que al cerrar el formulario se borre el grafico (ya que se genera cada vez que lanzo el Form. por si han cambiado los datos) lo he intentado con el siguiente código
He creado una variable por que el grafico cambia de nombre cada vez que se genera pero no lo he hecho bien por que no ve la dirección, he utilizado el " UserForm_terminate()" por que creo que es el indicado para usar la "X" del formulario
Mil gracias por vuestra ayuda
He montado una tabla dinámica en un Excel y de ese filtro saco un grafico, para ver la tabla dinámica en un listbox de un formulario uso el siguiente código
1
2
3
4
5
6
7
8
9
10
11
Private Sub UserForm_Activate()
ActiveSheet.PivotTables("Tabla dinámica8").PivotCache.Refresh
ucol = ActiveCell.SpecialCells(xlLastCell).Column
fin = ActiveCell.SpecialCells(xlLastCell).Address
ListBox1.ColumnCount = ucol
ListBox1.RowSource = "A1:" & fin
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Range("Hoja8!$A$3:$B$13")
end sub
funciona perfecto, el problema es cuando se carga el grafico que he intentado hacerlo con la siguiente instrucción
ActiveChart.Location Where:=xlLocationAsAnualidades.ListBox2 (el grafico se llama Anulidades)
me da el error 424 en tiempo de ejecución
Seguro que no he puesto bien la instrucción he probado poniendo un . entre As y anualidades pero no encuentro la solución.
Segundo problema:
Quisiera que al cerrar el formulario se borre el grafico (ya que se genera cada vez que lanzo el Form. por si han cambiado los datos) lo he intentado con el siguiente código
1
2
3
4
5
6
Private Sub UserForm_terminate()
Dim Grafico As Object
Grafico = ActiveSheet.ChartObjects.Address
ActiveSheet.ChartObjects("Grafico").Activate
ActiveChart.Parent.Delete
End Sub
He creado una variable por que el grafico cambia de nombre cada vez que se genera pero no lo he hecho bien por que no ve la dirección, he utilizado el " UserForm_terminate()" por que creo que es el indicado para usar la "X" del formulario
Mil gracias por vuestra ayuda
Valora esta pregunta


0