Colour Scale Based on Values

Apply colour scales to visualise data patterns with conditional formatting

419 views

Perfect For:

  • Data visualization
  • Performance tracking
  • Heat maps
VBA Code
Sub ApplyColourScale()
    Dim dataRange As Range
    Dim colourScale As ColorScale

    ' Select the data range
    Set dataRange = Application.InputBox("Select range for colour scaling:", Type:=8)

    If dataRange Is Nothing Then Exit Sub

    ' Clear existing conditional formatting
    dataRange.FormatConditions.Delete

    ' Add 3-colour scale
    Set colourScale = dataRange.FormatConditions.AddColorScale(ColorScaleType:=3)

    ' Configure colours: Red (low) -> Yellow (middle) -> Green (high)
    With colourScale.ColorScaleCriteria(1)
        .Type = xlConditionValueLowestValue
        .FormatColor.Color = RGB(248, 105, 107)  ' Red
    End With

    With colourScale.ColorScaleCriteria(2)
        .Type = xlConditionValuePercentile
        .Value = 50
        .FormatColor.Color = RGB(255, 235, 132)  ' Yellow
    End With

    With colourScale.ColorScaleCriteria(3)
        .Type = xlConditionValueHighestValue
        .FormatColor.Color = RGB(99, 190, 123)   ' Green
    End With

    MsgBox "Colour scale applied successfully!"
End Sub

Related Topics

colour scale visualization gradients performance

Need Custom VBA Solutions?

Our AI-powered VBA generator can create custom code tailored to your specific requirements in seconds.

3 free generations/month — unlimited with Pro

Related Templates

More VBA templates in the same category

Beginner

Highlight Duplicate Values

Automatically highlight duplicate values in a range with conditional formatting

View Template