domingo, 6 de septiembre de 2009

Graficos(Chart) - Excel - Excel Charts 2

Cambiar el tipo de Chart
------------------------

Sub ChangeChartType()

'Cambiando el tipo de Chart

ActiveChart.Type = xl3DPie
ActiveChart.ChartType = xl3DLine

'Segun veo las 2 formas son validas para cambiar el tipo de chart
'de igual manera puedes seleccionar la constante xl3DPie y presionar CTRL + J
'y asi accedes a la lista de otros tipos de charts
'o tambien puedes probar grabando tus propias macros y asi verificas los tipos disponibles de manera sencilla

End Sub



Sub ConvertChartInsheet()

'De igual manera puede convertir el Chart activo en una nueva hoja de grafico
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=ActiveChart.Parent.Name

End Sub

Eliminar los graficos de la hoja activa

Sub DeleteAllcharts()

ActiveSheet.ChartObjects.Delete

End Sub


'eliminar todas las hojas de chart del libro

Sub DeleteAllcharts1()

ActiveWorkbook.Charts.Delete

End Sub


En la sgte entrada trataremos sobre los elementos propios del Chart
Chart area,Plot area,legend,ejes,etc..

Graficos(Chart) - Excel - Excel Charts 1

Modelo de objetos - Grafico(Chart)
---------------------------------
Application
Workbook
Worksheet
ChartObjets
Chart

Conocinedo esta estructura para el modelo de objetos - grafico podra acceder a un grafico determinado para modificarlos segun guste.

Activar un grafico mediante su index correspondiente ,es decir el numero de index que le corresponde dentro de la coleccion .

De aqui en adelante sera mejor refererise al grafico como Chart(traducido) es mas practico porque asi se emplea en el codigo.


un ejemplo sencillo seria el activar el chart numero 3 de su hoja..(..claro siempre exista)

ActiveSheet.ChartObjects(3).Activate


De igual manera puede elimininar al chart de index 2 .
Eliminar un chart determinado
ActiveSheet.ChartObjects(2).Delete


Cambiar el nombre a un chart determinado
ActiveChart.Parent.Name = "ChartDeudas"

Cambiar el titulo de un chart
ActiveChart.ChartTitle.Text = "Deudas"

Activando un grafico mediante su nombre
Activesheet.Chartobjects("ChartDeudas").activate


Recuperar el nombre del chart activo
-----------------------------------

Msgbox ActiveChart.Name

'Te devolvera una cadena de esta forma primero la referencia a la hoja y luego el nombre del chart.
Hoja1 Gráfico 1


Msgbox ActiveChart.parent.Name
'Te devolvera exactamente lo que imagino que buscabas...solo el nombre del chart

Chart 1

En la proxima entrada la continuacion de charts..