Highlight a Specific Data Label in an Excel Chart

I was asked recently whether it was possible to change the font color of a data label in an Excel chart to highlight the maximum value.

Well, sure, anything is possible. And there are at least two ways to accomplish this task. Because I’ve been doing a lot of coding lately, my first thought was an approach using VBA. Then of course I came to my senses, and worked out a non-programmatic approach. If possible, it’s usually advantageous not to rely on VBA for such tasks.

The VBA Approach

Because I thought of it first, I’ll show the VBA method of formatting the label for the maximum value first.

Here is the simple data and chart, with all labels formatted with white text.

Highlight Max Data Label with VBA - Data and Chart 1

For this simple example, I want the tallest bar to have a black label, like this:

Highlight Max Data Label with VBA - Data and Chart 2

Here is the simple VBA routine I worked out to accomplish my task.

Sub HighlightMaxDataLabel()
  Dim srs As Series
  Dim vY As Variant
  Dim iPt As Long, nPts As Long
  Dim dMax As Double
  Dim iHighlightColor As Long

  ' do nothing if user hasn't selected a chart
  If Not ActiveChart Is Nothing Then
    Set srs = ActiveChart.SeriesCollection(1)

    ' highlight color: change to suit
    iHighlightColor = RGB(0, 0, 0)

    ' reset all labels to original font color
    With srs.DataLabels.Font
      .Color = .Color
    End With

    vY = srs.Values
    nPts = srs.Points.Count

    ' find maximum value
    dMax = vY(1)
    For iPt = 2 To nPts
      If dMax < vY(iPt) Then
        dMax = vY(iPt)
      End If

    For iPt = 1 To nPts
      ' highlight all labels at maximum value
      If vY(iPt) = dMax Then
        srs.Points(iPt).DataLabel.Font.Color = iHighlightColor
      End If

  End If

End Sub

When the data changes, the labels don’t immediately change.

Highlight Max Data Label with VBA - Data and Chart 3

Run the code again, and the labels are now properly highlighted.

Highlight Max Data Label with VBA - Data and Chart 4

Of course you could modify the code and stick it into a Worksheet_Change event procedure to make the labels change when the data changes.

I made sure that the code checked all values, without stopping at the first maximum. This way, both labels are highlighted if there’s a tie for first.

Highlight Max Data Label with VBA - Data and Chart 5

The Non-Programmatic Approach

Here is the same data with a couple extra columns, and the column chart without data labels. The added columns provide data for hidden line chart series which will contain the differently formatted data labels.

Assuming the data is in A1:D6, the formulas are:

Cell C2: =IF(B2<MAX(B$2:B$6),B2,NA())

Cell D2: =IF(B2=MAX(B$2:B$6),B2,NA())

These formulas result in only one of the two line chart series having a marker for each column of the column chart.

Highlight Max Data Label without VBA - Data and Chart 1

Start by making the chart using all of the data (left), or if you’ve already got the chart, add the extra series. Then change the chart type of the additional series* to line chart (right).

* right click on the series, choose Change Series Chart Type from the pop up menu, and select the desired chart type.

Highlight Max Data Label without VBA - Charts 2

Add data labels to each line chart* (left), then format them as desired (right).

* right click on the series, choose Add Data Labels from the pop up menu.

Highlight Max Data Label without VBA - Charts 3

Finally format the two line chart series so they use no line and no marker.

Highlight Max Data Label without VBA - Data and Chart 4

When the data change, the chart labels change just as quickly as Excel can calculate the new values in columns C and D. No need to hassle with VBA event procedures.

Highlight Max Data Label without VBA - Data and Chart 5

If more than one value matches the maximum, each will be highlighted as the maximum.

Highlight Max Data Label without VBA - Data and Chart 6


Peltier Tech Chart Utility

Color Plotted Points to Match Cells

This week in the Mr Excel forum, someone wanted to know how to set Graph Colors to match cell colors. A couple years back, my good buddy Mike Alexander presented code that Color Pie Chart Slices to Match their Source Cells. But I thought of a couple enhancements and I need to increase my posting frequency, so here goes.

Basic Data and Chart

Start with a simple data set:

Simple Data

Create a stacked column chart:

Simple Chart

This will work with stacked or clustered column charts, stacked or clustered bar charts, and pie charts.

Formatted Data and Chart

Enhancement Number One: Work on all reasonable chart types that use fill colors for each point.

Apply the fill colors to the cells that you want applied to the plotted points. Just fill colors; the VBA code will ignore borders and skip any cells that don’t have a simple “Solid” fill pattern.

Data with colored cells

Select the chart and run the procedure. The points (bars) will be filled with the same colors as the corresponding cells.

Chart with colored points

It works on bar charts too.

Chart with colored points

Note that the legend colors haven’t changed, because we’ve changed the points one-by-one, and haven’t changed the series. Even if you changed all points in a series to the same new color, the legend will still show the old color. See?

Legend colors do not change

Partially Highlighted Data and Chart

Enhancement Number Two: Apply fill colors only to certain highlighted points.

That was pretty cool. What if I only want to change the colors of some of the points, indicated by the selective colors of the following data set?

Data with highlighted cells

Look, it works! The program skips any cells with no fill color (in code, it skips cells with a fill pattern of “None”).

Chart with highlighted points

The VBA Procedures

The first procedure is a stub that is used to reformat the active chart.

Sub ColorActiveChartPointsToMatchCells()
  If Not ActiveChart Is Nothing Then
    ColorPointsToMatchCells ActiveChart
  End If
End Sub

You can call the main procedure inside of any other code to format a chart you’re working on, like this:

    ColorPointsToMatchCells ChartIAmWorkingOn

The second procedure accepts a chart as input. It cycles through all series in the chart. If the chart type of the series isn’t column, bar, or pie, it skips that series. Otherwise it parses the series formula to find the formatted range containing the series Y values. The code then loops through the points in the series (and the cells in the source data range), and if the cell has a simple “Solid” fill pattern, it uses the fill color of the cell as the fill color of the corresponding point.

Sub ColorPointsToMatchCells(cht As Chart)
  Dim srs As Series
  Dim sFmla As String
  Dim vFmla As Variant
  Dim sYvals As String
  Dim rYvals As Range
  Dim iPt As Long
  Dim nPts As Long

  If cht Is Nothing Then GoTo OuttaHere

  For Each srs In cht.SeriesCollection
    Select Case srs.ChartType 
      ' only do pie, bar, column charts
      Case xlPie, xlBarClustered, xlBarStacked, xlBarStacked100, _
          xlColumnClustered, xlColumnStacked, xlColumnStacked100

        On Error GoTo SeriesError

        ' get series information
        sFmla = srs.Formula
        nPts = srs.Points.Count
        vFmla = Split(sFmla, ",")
        sYvals = vFmla(LBound(vFmla) + 2)
        Set rYvals = Range(sYvals)

        For iPt = 1 To nPts
          ' don't change point color if cell has no fill color
          If rYvals.Cells(iPt).Interior.Pattern = xlSolid Then
            srs.Points(iPt).Interior.Color = rYvals.Cells(iPt).Interior.Color
          End If
    End Select

    On Error Resume Next


End Sub

Note that I used

    srs.Points(iPt).Interior.Color = rYvals.Cells(iPt).Interior.Color

to format the points of the series. The Interior property of a chart series has been deprecated, and the official syntax has changed to the much simpler and easier to remember

    srs.Points(iPt).Format.Fill.ForeColor.RGB = rYvals.Cells(iPt).Interior.Color

But it seemed to make sense to use Interior for both cell and point, especially in this case deprecated doesn’t mean “no longer works”.

Peltier Tech Chart Utility

Multiple Width Overlapping Column Chart

I read a post entitled Calling All Graph Wizards – Overlapping/Stacking Graphs w/o secondary axis on the Mr Excel forum today, and decided the question was broad enough and the answer quick and elegant enough that it was worth sharing.

The problem was that the user wanted to show projected and actual values of one variable as columns on the primary axis and of another variable as lines on the secondary axis.

If you only have the one variable, you can plot projected on the primary axis and actual on the secondary axis, then use a smaller gap width (wider bars) on the primary axis and a larger gap width (thinner bars) on the secondary.

Dual Column Width Chart Using Primary and Secondary Axis

But you can’t use two gap width settings if the columns must be plotted on the same axis. When you plot them, the taller bars in the front obscure the shorter bars in the back, so you can’t compare the values.

Mono Column Width Chart Using Only Primary Axis

But you can still make Excel do what you want. (In fact, you can almost always make Excel do what you want, if you know how.) I’ll describe two ways to accomplish this.

Option 1: Fill Bars with Rectangular Shapes

This approach was the original topic of this tutorial.

Draw two rectangles, pretty tall. The taller the better for visual quality of the chart. Make the thinner rectangle the color you want, and make the thicker one transparent. Make the widths of the two rectangles in the same proportion as the widths you want for the bars in the chart. Center the two rectangles horizontally.

Rectangles for Dual Column Width Chart

Select both rectangles, and copy (Ctrl+C). Select the series in the chart, and paste (Ctrl+V). The chart now uses the copied shapes as the fill for the selected series.

Dual Column Width Chart Using Only Primary Axis

Pretty easy, once you know how.

This comes in handy too if you need more than two widths. Without this trick, you couldn’t make the following chart even if you could use the primary and secondary axes:

Triple Column Width Chart Using Only Primary Axis

This requires two pairs of rectangles, a clear one and a relatively wide filled one for the second series, and a clear one and a relatively narrow filled one for the third. These are shown below:
Pairs of rectangles for bar chart fills

The advantage of this approach over the next is that the narrower bars keep their relative width, which is fixed by the ratio of filled rectangle to transparent rectangle used to fill the bars. The disadvantage is that if you want to adjust the width of the narrower bars, you need to adjust the width of the rectangles, then copy and paste onto the chart series.

Option 2: Error Bars with Multiple Widths

My colleague Andy Pope has pointed out in the comments that another approach for this effect is to use error bars for the narrower bars. In Excel 2003 and earlier, you had few options for line width, but since Excel 2007, you can make lines of seemingly any arbitrary thickness.

I’ll show Andy’s technique for three sets of bars. It’s even easier for two sets of bars.

I’ll start with the original column chart, setting overlap temporarily to zero so the different sets of error bars don’t obscure each other. The first thing to do is hide the bars you want to display narrower, that is, use no fill color for them. I’ve kept a colored outline to show what’s going on.

Using Error Bars for Multiple Width Chart Series Bars

Add error bars to the series you want to show as narrower bars.

Customize the error bars using the Minus Only, No Caps, and 100% Percentage value options.

Using Error Bars for Multiple Width Chart Series Bars

Now comes the magic. Apply the desired line colors to the error bars, and make the error bar lines thicker. Here I’ve used 11.25 pt for the orange bars and 5.75 pt for the blue bars.

Then I’ve hidden the outlines of the original bars.

Using Error Bars for Multiple Width Chart Series Bars

Change the overlap back to 100 so the bars are all centered on the categories (the month labels).

This has made the unchanged bars for Plan much wider, so we need to adjust the line widths of our error bars. I’ve settled on 30 pt for the orange and 12 pt for the blue.

Using Error Bars for Multiple Width Chart Series Bars

I used a little trick to reapply the bar colors to the legend. When I made the bars transparent, I started with the entire series formatted with the desired color. Then I selected one bar at a time instead of the entire series, and used no fill for the bar. Working point-by-point in this way leads Excel to believe that the series as a whole has not been changed, so it leaves the legend entries alone.

The disadvantage of the error bar approach is that  any reformatting that changes the widths of the original bars (changing overlap, adding points to each series, stretching the chart) will distort the relative widths of the error bars and the original bars.

The advantage is that these widths can be adjusted very easily by formatting the error bar lines, without having to fiddle with the widths of the rectangles which must then be copied and pasted onto the series bars.

Peltier Tech Chart Utility

Create a Heat Map Using Excel’s Conditional Formatting

A reader of my post Excel 3D Charts: Charts with No Value asked how to arrange his data to display a variable on a grid, thinking I’d acquiesce to his desire for a 3D chart. My initial thought was “No way”, but I first asked what he was plotting. He was doing an agricultural experimental design with a 2×5 grid of plots planted with various plants, and wanted to see whether there was a positional variation to the results which would not have been seen in a standard ANOVA analysis. His output values typically ranged from 1000 to 5000 pounds per acre.

I thought this could be visualized in 2D without the usual 3D issues, using a heat map. Now I’ll construct such a heat map using Excel’s Conditional Formatting Feature.

I set up a 2 column by 5 row grid, and inserted random numbers between 1000 and 5000.

Original range for heat map

To represent a 2×5 grid of square plots, I adjusted the rows and columns to be the same size, in this case 50 pixels. This was an assumption on my part, but whatever the dimensions of the actual plots, you can fudge the row and column dimensions to represent these dimensions.

Expanded range for heat map

I selected this range, and clicked on Conditional Formatting on the Home tab of the Excel 2013 ribbon, and hovered over Color Scales. As far as I recall, this part of the color scales mechanism worked the same in Excel 2007 and 2010.

There are a dozen built-in color scales, and if this isn’t enough you can pick More Rules.

Conditional Formatting dropdown showing Color Scales options

Below are the five built-in options I’d be most likely to use for such a heat map, highlighted in the popup menu and displayed in theworksheet. These are a red-yellow-green 3-color diverging scale, a red-white-green 3-color diverging scale, a red-white-blue 3-color diverging scale, a white-green 2-color sequential scale, and a yellow-green 2-color sequential scale.

Color scales applied to worksheet ranges

I decided to use the red-white-green diverging scale, because I thought it would be the most color-vision-friendly of the three diverging scales.

To change to a better scale, I selected the range and selected Manage Rules at the bottom of the Conditional Formatting dropdown menu, and the Formatting Rules Manager dialog appeared.

Conditional Formatting Rules Manager

If I’d selected a larger range with multiple sets of rules, like the range shown above with five color scales applied, this dialog would show all of the rules.

Conditional Formatting Rules Manager

I selected the color scale I wanted to change, and clicked Edit Rule, to pop up the Edit Formatting Rule dialog. You can see that the options for this type of rule include 2- and 3-color scales, which are useful for heat maps, as well as data bars and icon sets, which are not.

Conditional Formatting Edit Formatting Rules Dialog

You can select three colors for minimum, midpoint, and maximum, and you can choose to define these points in several ways. Here I’ve kept the default lowest value, 50th percentile (median), and highest value, but all could be defined by percentiles, values, or formulas.

To select my colors, I went to my favorite source for color schemes at ColorBrewer2.org, by Cynthia A. Brewer at Pennsylvania State University. I decided on a color-vision safe, 9-color, purple-to-green diverging scale, and this is what ColorBrewer showed me. Click on the image to visit this selection at ColorBrewer2.org.

Color Brewer Diverging Purple-Green Color SchemeClick on the image to visit this selection at ColorBrewer2.org.

ColorBrewer also lets you export the colors in various ways, including as an array of RGB values:

{118, 42, 131; 153, 112, 171; 194, 165, 207; 231, 212, 232; 247, 247, 247; 217, 240, 211; 166, 219, 160; 90, 174, 97; 27, 120, 55}

I used the second (purple) and eighth (green) elements of this color scheme for the min and max colors, and kept the white central value (the ColorBrewer midpoint is about 5% gray).

Edit Formatting Rules: Purple-White-Yellow Scale

Below is the purple-white-green 3-color diverging scale (left), a purple-green 2-color sequential variation (center), and a white-green 2-color sequential variation (right). Note that these intermediate colors are not ColorBrewer’s, but are calculated by Excel.

Purple-White-Green and Purple-Green Color Scales

The three-color purple-to-white-to-green scale seems to show the variation better than the two-color purple-to-green scheme, because the latter doesn’t show much variation within the greens or within the purples. The two-color white-to-green might be the best overall choice, especially if the heat map has to be photocopied.

Peltier Tech Chart Utility

Using Colors in Excel

Colors in Excel

When you know how Excel’s color system works, you can do some great work. We’ll take a brief look backwards at the rudimentary color palette of Classic Excel, then explore the enhanced capabilities of the color system introduced in Office 2007.

The Color Palette (Excel 2003 and Earlier)

You may remember the default color palette of Excel 97 through 2003, shown below. The palette a mishmash of blindingly bright tiles amidst a multitude of dark gloomy colors. I think it was designed by someone who only came out of his dungeon at night.

There were 56 colors in the palette, and you could independently modify any of them. But you could not use any colors beside these 56 in your workbook, except in AutoShapes. Each workbook could have its own palette (but only one palette), and you could assign one workbook’s palette to another workbook. The sixteen tiles in the bottom two rows were not always available for general editing, but were reserved for chart lines (bottom row) and chart fills (second row from the bottom).

What I miss about Excel 2003 is not so much the available colors in the palette, but the fact that you could tear them away from the toolbars and drag them to where you were working. They stayed open until you closed them, which saved hundreds of clicks a day (or hour), and their proximity to your work saved miles and miles of mouse travel.

In fact, Classic Excel contained a variety of formatting tearaway toolbars, and I miss all of them. Here is a screenshot of many of them, in case you’re nostalgic. (Sniff.)

The best thing that Microsoft could do for Excel 2016 would be to reintroduce this kind of old-school functionality, and restore our lost productivity.

The default palette was pretty grim, and the defaults made for some butt-ugly charts. But it was easy enough to tailor your own palette, as I had done with guidance from the color picker at ColorBrewer2.org, thanks to Cynthia A. Brewer, Pennsylvania State University. Below are shown the default palette (left) and one of my custom palettes (right). My bottom three rows were medium, light, and very light shades of 8 colors; I lightened up the grays in the last column, I replaced the dark colors in the top row, and made one of the dull greens in the middle into one with more life.

When a workbook’s color palette is changed, all colors in the workbook are subject to change.

As attached as we were to Excel 2003’s color system, we welcomed the new color system that came with Excel 2007.

The Color Chooser (Excel 2007-2013)

The Classic palette has been replaced with a similar color chooser, which shows all of the colors in the chosen theme. The colors are more organized, where each column of the grid of colors has shades of the same base color. This shows the default Office 2007-2010 theme. The colors are somewhat dull, but they are a major improvement over the Excel 2003 colors, and reportedly these colors are distinguishable by those with the most common color vision deficiencies.

As you mouse over the color chooser, names of the colors pop up. Names like “Black, Text 1, Lighter 35%” and “Aqua, Accent 5, Darker 25%”.

This table shows the names for all color tiles in the default Office 2007-2010 theme. The name consists of the color name in the first row, “Aqua”, then the label from above the table, “Accent 5″, and finally the adjustment of the color, “Darker 25%”.

For Text 2 and the Accent colors, the sequence of shades goes Lighter 80%, Lighter 60%, Lighter 40%, Lighter 0%/Darker 0% (the baseline shade), Darker 25%, and Darker 50%. There’s a large jump between the baseline color and the next color at Lighter 40%. I wish they’d decided to use Lightness values of 25%, 50%, and 75% instead of the chosen 40%, 60%, and 80%. I also wish there was a way via the user interface to adjust this percentage, but you need VBA if you want to keep a color associated with the theme.

Theme Colors

We’ve been looking at the default Office 2007-2010 color theme, but there are many more to choose from, which you can access from the Page Layout tab. Office 2013 has a new theme, which is a little livelier than the old 2007-2010 theme, further improving on the Classic Excel colors. There are a slew of other themes too, but it seems most of them are skewed to much towards a particular color to be good for general use.

Below are the color choosers for the Office 2007-2010 default theme (left) and the Office 2013 default theme (right). The 2010 theme’s colors are somewhat drab, although a major improvement over the default Excel 2003 palette, and reportedly friendly to those with color vision deficiencies. The Office 2013 colors are brighter, and look very good in charts. I’ve actually grown to like working in Excel 2013, much more than in 2010 and especially in 2007; I suspect the happier colors have contributed to my acceptance of 2013.

Here are the names of the colors in the Office 2013 theme. The color names have changed, but the percentages are all the same. Also, the standard colors are unchanged.

At the bottom of the list of color themes is a button labeled Customize Colors, which leads to this dialog. It is populated below with the Office 2013 colors. There is a preview of how the colors look together, and each color dropdown opens a color picker that lets you access all 16+ million combination of red, green, and blue pixels. then you can name and save your custom theme.

Here I’ve populated the accent colors with pure, fully saturated versions of the Office 2007-2010 theme.

Whoa, that’s pretty bright…

Here are the color names for my custom palette. Notice that Excel tries to guess the names of the colors, or it probably has a lookup table. Turquoise, for example, is somewhat deeper than Aqua.

Notice also the percentages. These are locked in. You can’t change them in the theme color dialog above, you can only change the main colors in the first row.

As with Classic Excel, each workbook has its own theme, which may be shared with other workbooks through the custom theme mechanism. But you could use other colors, including the standard colors from the bottom row, and using the color dialog (More Colors) you could access all the millions of colors available to Windows.

When a workbook’s color theme is changed, all colors that were selected from the theme are subject to change, but any colors defined using More Colors will remain unchanged.

More Colors (Custom or “Recent” Colors)

At the bottom of the color picker is a button labeled More Colors.

This opens the familiar old Colors dialog used in Classic Excel and a gazillion other applications. The Standard tab shows a hexagonal pattern of colors, with the color of the selected object highlighted in the hex and along the bottom if the color lies on the white-to-gray-to-black axis.

If you select a different color, the New/Current graphic in the bottom corner lets you compare the newly selected color with the original color.

If the hex doesn’t provide just the proper shade, click on the Custom tab. You can change the color by dragging the white crosshairs in the hue-saturation rectangle to the left, or by dragging the black triangle up and down the luminance slider. Or if you know the RGB values you can simply type them into the boxes. The New/Current graphic updates as you adjust the color.

You can also select the HSL color model and enter hue, saturation, and luminance values directly.

When you’ve selected a new color, it appears in a new category of Recent Colors. You can select as many different colors as you need, but only the ten most recently used colors stay in the color chooser.

Chart Colors

Remember those Excel 2003 charts? Here’s a simple stacked column chart.

Professor Tufte’s nightmare.

It’s a little better when I use my custom Excel 2003 palette, but there are still too many dark lines everywhere.

If you clean up the dark lines, the Excel 2003 chart doesn’t look too bad.

Here’s the chart using the default Office 2007-2010 color theme. Legible but pretty drab except for the aqua bars on top. Much better than the default 2003 chart, though.

Here is the same chart after changing to the Office 2013 theme. I can’t say that it’s any more legible, but less drab is good.

Here I’ve applied my bright and bold custom theme.

Ouch! It’s a good reminder to use a reputable source for your color scheme. As mentioned earlier, one good source is the color picker at ColorBrewer2.org, thanks to Cynthia A. Brewer, Pennsylvania State University.

Formatting Chart Colors

Once you have your chart, there are many ways to format its elements. I’ll illustrate with formatting the fill color of one of the series in the column chart.

One of the most useful shortcuts in Excel is Ctrl+1 (that’s the numeral one). I use it so much I find myself trying to use it in other programs, and it never does anything.

What Ctrl+1 does in Excel is open the formatting dialog or task pane for the selected object. Of course, you could right click on the object and choose the Format [Object Name] button from near the bottom of the pop-up menu, but Ctrl+1 is cooler.

So select the series in the chart and click Ctrl+1 and in Excel 2013 the Format Data Series task pane opens. Its default position is docked to the right edge of the workbook window. I’ve clicked the Fill Color dropdown, and the familiar color chooser pops up.

The taskbar can be undocked by clicking on its top edge and dragging it to where you want to use it. In this way it somewhat resembles the long lost floating tearaway toolbars from Classic Excel. Somewhat.

I’ve floated the task pane over the chart and clicked the Fill Color dropdown to reveal the color chooser.

The formatting task pane was introduced in Excel 2013. In Excel 2007 and 2010 there is a formatting dialog, which floats modelessly over the worksheet. When you select the Solid Fill option, the Fill Color dialog appears, and clicking it shows the color chooser.

In Excel 2013 and 2010, but not in 2007, when you right click on a chart element, in addition to the standard pop-up menu, there is a small floating formatting mini-toolbar which has context-relevant formatting buttons (Fill and Outline are displayed below) and a chart element dropdown that identifies the selected element and allows you to select any other element in the chart.

Click on the Fill button, and the color chooser appears.

Now for the cool part. When you mouse over a color tile in the chooser, the selected element temporarily takes on the color of that tile, giving you a preview of how the element will look with that color applied. The formatting task pane in Excel 2013 and the formatting dialog in Excel 2007 and 2010 do not give you this preview.

You can also use the controls on the Chart Tools > Format tab to format the chart elements. Select the series and click the Shape Fill button to reveal the color chooser.

Mouse over a color tile, and as before the selected series is previewed with that fill color. Nice.

You can even format some elements of the chart using controls on the Home tab. Even though it’s in the Font group of controls, the Fill dialog works on the selected series. Click on the paint can and the color chooser pops up.

Mouse over a color tile, and the series is filled with that color.

That preview feature is pretty cool, a good reason to use anything but the format task pane or dialog for most formatting actions. These protocols work the same for line or border colors, font properties, etc., and the previews are featured when controls on the right-click mini-toolbar or ribbon are used.

Using Copied Custom Colors

Let’s return to our original stacked column chart. We’re going to change the series colors so they range from red-orange at the bottom to blue at the top.

How do you get the colors into the chart? Well, you can define other colors by entering RGB values, but if you have more than a few, you’ll get pretty bored. I have a method that’s much more fun.

I have several worksheets on which I have stored various color sequences, based on the work at ColorBrewer2.org, thanks to Cynthia A. Brewer, Pennsylvania State University. If that name sounds familiar, it’s because I keep mentioning it, and you should visit the site and find some decent color schemes.

Here is a small view of one of my color worksheets. The columns are color schemes (red-blue, orange-purple, etc.), the rows are groups of three colors, five colors, seven colors, etc. each cell is shaded with the particular color, and the RGB values are shown in the cell for reference.

I usually start by copying the block of cells with the colors I want, and paste them somewhere in the workbook.

The color chooser in a new workbook shows the default color theme and standard colors, and no recently used colors. Here’s an easy way to get the colors from the copied range into the Recent Colors section of the chooser. Remember there’s a limit of ten recent colors.

Select one of the colored cells. Click on the Fill dropdown, and then click More Colors at the bottom of the color chooser.

The Colors dialog pops up. When a color-theme-formatted object is selected, the current color in the Colors dialog is black and the standard tab is active. However, when an object formatted with a custom color is selected, its RGB values are plotted on the Custom tab, and the Current/New graphic shows this color.

Don’t make any changes in this dialog, just click OK to close it. Now when we check the color chooser, the color that we saw in the Colors dialog appears in the Recent Colors list.

That was easy, we didn’t have to type any numbers or anything.

Now we can select the series we want to format and click the Fill dropdown to reveal the color chooser. Yes, the newly added custom color is still there.

Mouse over the new color, and behold the series previewed with that color.

Release the mouse and the chart series has been filled with the new custom color.

Select the next colored cell, click the Fill dropdown, and click More Colors.

The new cell’s fill color is plotted in the Colors dialog.

Click OK to insert this color into Recent Colors.

Return to the chart, right click the next series click the Fill button, mouse over the new color in the chooser, and the color is previewed in the series.

Here’s the chart, 2/5 of the way done.

Lather, rinse, repeat until all of the colors have been added to Recent Colors.

Here is the chart with our desired color scheme applied.

The workbook will remember these colors when it is closed and reopened. The recent color tiles will rearrange themselves, with the most recently used color furthest to the left. This makes the most recent color easy to find when you’re applying the color to many objects.

Further Investigation

Windows 2007 Colors

This article has covered most of the user interface part of Excel’s colors. With some VBA and the patience to flush out details of the object model, you can further expand Excel’s capabilities. Of course, the object model that came out with Office 2007 was somewhat half-baked, and there were problems with some combinations of color and percentage brightness or darkness not being obtainable. Some new VBA elements were introduced in 2010 that fixed a few problems and seemed to have added some of their own.

For further coverage of Office 2007’s color mechanisms, check out Tony Jollans’ article, Colours in Word 2007. Tony has spend lots of time figuring out and documenting Office 2007’s colors in excruciating detail.

Echo Swinford shows how to hack the XML code of the theme to add your own Custom Colors to the color chooser in PowerPoint 2007 Custom Colors. These are different from Recent Colors and appear in a Custom Colors section above the Standard Colors section.

Mr. Spreadsheet himself, John Walkenbach, covered Office 2007 colors in Excel 2007 VBA ChallengeMore On Office 2007 Colors, and Exploring Theme Colors, in which he describes some of the glitches he’s encountered.

Choosing Colors

I’ve mentioned several times that good colors can be found at ColorBrewer2.org, thanks to Cynthia A. Brewer, Pennsylvania State University. There are innumerable color scheme designers on the web, but I prefer ColorBrewer’s complete schemes.

Perceptual Edge hosts an article by Maureen Stone, Choosing Colors for Data Visualization, as well as Stephen few’s articles Practical Rules for Using Color in Charts and Uses and Misuses of Color.

Juice Analytics has some advice about color use in Color Has Meaning and other pages linked from that one.

NASA has an extensive library of pages about Using Color in Information Display Graphics.

UXmatters has a series of articles about Color Theory for Digital Displays: A Quick Reference: Part I, Part II, and Part III.

To check your colored images for color vision deficient viewers, visit Vischeck.

Peltier Tech Chart Utility

Peltier Tech Chart Utility


Create Excel dashboards quickly with Plug-N-Play reports.