I have a complex workbook that's "evolved" over time and I'm trying to update it. However, it has many charts which are driven from data from across the workbook and I wanted the ability to easily identify what source ranges are associated with each chart (ie, highlighting all the Chart Precedents). I've probably re-invented the wheel but I’ve created some code which goes through each chart and highlights the associated ranges by drawing a textbox overlaying each of the ranges used within the charts (with the chart and series names in the text box). This highlights (using different colours) the Value, Axis and Label ranges and also a range for the Title if it references a cell.

There is, however, one bit that I cannot get to work. It's possible to set an alternate range for Data Labels of a Chart where the option is selected to get the "Values From Cells" (the VBA flag for which is "ser.DataLabels.ShowRange").

After much googling there's many references to creating the range (with the rather convoluted "Series.DataLabels.Format.TextFrame2.TextRange. InsertChartField") but I can't find any references to reading the range.

The code I’ve got so far seems to be working well but I’ve just got some temporary code for the Alternate DataLabel Range which overlays a text box directly on any chart that has an Alternate DataLabel Range so at least I know which charts have such a range defined.

I would like to share the code but, in its commented form, it’s about 16,000 chars so won’t fit. Also, being new to the forum I’m not yet allowed to post the workbook - as soon as I can I will.

If anybody knows how to get the range associated with ser.DataLabels.ShowRange I'd appreciate it and I'll be able make the utility a bit more universal. (I'm also prepared for the responses that tell me that I've wasted my time and that there’s already an in-build function for this in Excel! - no worries, I've enjoyed the coding )