|I'm not exactly sure what you are doing with your graph, so I created my own and then came up with a solution that you might be able to adapt to your needs.|
This suggestion needs some work, but I'm tossing it out there just to see if it comes close to what you are looking for.
I started with a simple line graph with this data so that I got a curved graph like yours. Then in C2 and C3 I added Data Validation Drop Down lists containing the months from A2:A13.
A B C (Drop Downs)
1 Month Running Total Month Range
2 January 23 July
3 February 53 October
4 March 90
5 April 135
6 May 187
7 June 247
8 July 314
9 August 388
10 September 470
11 October 559
12 November 656
13 December 760
Using a Worksheet_Change macro, the graph can be changed to use the months chosen by the Drop Downs. This is pretty basic, since it doesn't check to see if the End Month (C3) is earlier than the Start Month (C2), but that's easy to fix if this is the sort of what you are looking for.
In addition, in my case, I know the graph name is Chart 6, so that is hard coded into the macro.
How it works is that the code uses the .Find method to determine what Rows the Months chosen in the Drop Down are in. It then uses those Rows to build the SourceData range for the chart.
If you really want to use a text string like 40% - 80% in your Drop Down, I supposed the code could extract the values (40 and 80) using some text functions (LEFT, MID, RIGHT) and then use .Find to find those values in your data table.
Let me know what you think of this so far.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$3" Then
'Get Start Month Row From Drop Down in C2
Set startMonth = .Find(Range("C2"))
startRow = startMonth.Row
'Get End Month Row From Drop Down in C3
Set endMonth = .Find(Range("C3"))
endRow = endMonth.Row
'Use Row numbers to build SourceData Range for Chart 6
Source:=Range("$A$" & startRow _
& ":$B$" & endRow)
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.