Conditional Formatting Beginner

Colour Scale Based on Values

Apply colour scales to visualise data patterns with conditional formatting

15 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.

Generate Custom VBA Code

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