Sub CrearGraficaBarras()
' Define el rango de datos para el gráfico
Dim RangoDatos As Range
Set RangoDatos = ActiveSheet.Range("A1:A5")
' Crea un gráfico de barras verticales en la hoja de cálculo activa
Dim Grafico As Chart
Set Grafico = ActiveSheet.Shapes.AddChart2(251, xlColumnClustered).Chart
' Establece el rango de datos para el gráfico
Grafico.SetSourceData Source:=RangoDatos
' Modifica el título del gráfico
Grafico.ChartTitle.Text = "Mi Gráfica"
' Define los colores para los valores mínimo y máximo
Dim MinColor As Long
Dim MaxColor As Long
MinColor = RGB(0, 255, 0) ' verde
MaxColor = RGB(255, 0, 0) ' rojo
' Encuentra los valores mínimo y máximo en el rango de datos
Dim MinValue As Double
Dim MaxValue As Double
MinValue = Application.WorksheetFunction.Min(RangoDatos)
MaxValue = Application.WorksheetFunction.Max(RangoDatos)
' Aplica el degradado de colores a cada serie del gráfico
Dim i As Integer
For i = 1 To Grafico.SeriesCollection.Count
' Calcula la posición del valor de la serie en el degradado
Dim Position As Double
Position = (Grafico.SeriesCollection(i).Values - MinValue) / (MaxValue - MinValue)
' Calcula el color para la serie basado en su posición en el degradado
Dim SeriesColor As Long
SeriesColor = RGB((1 - Position) * Red(MinColor) + Position * Red(MaxColor), _
(1 - Position) * Green(MinColor) + Position * Green(MaxColor), _
(1 - Position) * Blue(MinColor) + Position * Blue(MaxColor))
' Aplica el color a la serie
Grafico.SeriesCollection(i).Format.Fill.ForeColor.RGB = SeriesColor
Next i
End Sub