Untitled
unknown
plain_text
a year ago
1.8 kB
3
Indexable
Never
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