Macros para el manejo de los elementos de una gráfica


Cambiar los elementos de una gráfica

Renombrar un gráfico

Sub Graficas()
'Renombrar el nombre del gráfico
    ActiveSheet.ChartObjects(1).Name = "Gráfico Ventas"
End Sub


Cambiar el título de una gráfica

Sub TituloGrafica()

    ActiveChart.ChartTitle.Text = "Mi Gráfica"

End Sub


Sub  TituloGrafica ()
   
   ActiveSheet.ChartObjects(1).Activate
   ActiveChart.HasTitle = True
   ActiveChart.ChartTitle.Text = "Inversiones"
    
End Sub


Sub   TituloGrafica ()

With ActiveChart
    .HasTitle = True
    .ChartTitle.Text = "
Inversiones"
End With

End Sub


Cambiar el formato del título de la gráfica

Sub GraficaTitulo()
   
    ActiveChart.ChartTitle.Select
    
    With Selection.Font
        .Name = "Arial"
        .FontStyle = "Bold"
        .Size = 14
    End With
    
End Sub


Cambiar el color de una serie de gráfica

Sub ColorSerie()
    ActiveChart.SeriesCollection(1).Format.Fill.ForeColor.RGB = rgbRed
End Sub


Cambiar el color de la leyenda de una gráfica

Sub ColorLeyenda1()
    ActiveChart.HasLegend = True
    ActiveChart.Legend.Font.ColorIndex = 5
End Sub

Sub  ColorLeyenda2()
     Worksheets(1).ChartObjects(1).Chart.HasLegend = True
     Worksheets(1).ChartObjects(1).Chart.Legend.Font.ColorIndex = 5
End Sub

Sub  ColorLeyenda3()
Dim Grafico As Chart
    
    Set Grafico = Worksheets(1).ChartObjects(1).Chart
    Grafico.HasLegend = True
    Grafico.Legend.Font.ColorIndex = 5
    
End Sub


Cambiar tamaño y posición de la gráfica

Sub posicionTamanio()
    ActiveChart.ChartArea.Left = ActiveSheet.Cells(19, 6).Left
    ActiveChart.ChartArea.Top = ActiveSheet.Cells(19, 6).Top
End Sub


Mostrar las etiquetas de una serie

Sub MostrarEtiquetas()
    ActiveChart.SeriesCollection(1).HasDataLabels = True
End Sub


Información sobre los elementos de una gráfica

Número de gráficas en la hoja activa

Sub Graficas()
    Debug.Print ActiveSheet.ChartObjects.Count
End Sub


Número de series en la gráfica

Sub Graficas()
    Debug.Print ActiveChart.SeriesCollection.Count
End Sub


Nombre de una serie

Sub Graficas()
    Debug.Print ActiveChart.SeriesCollection(1).Name
End Sub


Nombre de un gráfico

Sub Graficas()
    Debug.Print ActiveSheet.ChartObjects(1).Name
End Sub


Recorre todas las gráficas incrustradas en la hoja y devuelve su nombre

Sub NombresGrafcas()
Dim Grafica As ChartObject
Dim Mensaje As String
    
    Mensaje = ""
    
    For Each Grafica In ActiveSheet.ChartObjects
        Mensaje = Mensaje & Grafica.Name & vbNewLine
    Next Grafica
    
    MsgBox Mensaje
End Sub



Véase también