Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# Extract equation parameters from chart

Posted on 2014-01-07
Medium Priority
412 Views
Hello,

The attached worksheet contains a script (CreateCharts) that outputs a series of line charts and scatter charts (based on a range of input data) to a sheet named "Charts".

Each scatter chart on the "Charts" sheet contains an equation for a linear trendline.

The other script (SlopeTable) contained within this workbook is designed to read each chart and extract the chart title and slope of the trendline from the equation on the chart.

I am in need of an amendment to the SlopeTable script  that will read the equation on only the scatter charts and write the chart title, slope, y-intercept, and R-squared values to a  table in the sheet named "Params_Table".

For an example, I have shown the desired results for the first scatter chart (labeled as BR1) in row 2 of the "Params_Table". I entered these values manually.

Many thanks in advance to anyone who may be able to add this functionality,
equation-parameters-to-table.xlsm
0
Question by:dougf1r
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 53

Accepted Solution

Rgonzo1971 earned 2000 total points
ID: 39762654
Hi,

pls try

Sub Findparameters()

RowIndex = 2

For Each ChtObj In Sheets("Charts").ChartObjects
Set cht = ChtObj.Chart
For Each SerCol In cht.SeriesCollection
Set TrdLines = SerCol.Trendlines
If TrdLines.Count > 0 Then
Set TrdLn = TrdLines(1)
strParameters = Replace(TrdLn.DataLabel.Text, Chr(10) & "R" & Chr(178), "")
strParameters = Replace(strParameters, "x", "")
aParameters = Split(strParameters, " ")
Range("A" & RowIndex).Value = cht.ChartTitle.Text

Range("B" & RowIndex).FormulaLocal = aParameters(2)
Range("C" & RowIndex).FormulaLocal = aParameters(4)
Range("D" & RowIndex).FormulaLocal = aParameters(6)
RowIndex = RowIndex + 1
End If

Next
Next

End Sub
EDIT Now FormulaLocal

Regards
0

LVL 31

Expert Comment

ID: 39762726
ok here it is

download the file make sure macros are activated and position yourself in any sheet and activate the macro called SlopeTable and check the results.

Rgds/gowflow
equation-parameters-to-table.xlsm
0

LVL 1

Author Comment

ID: 39762884
Many thanks for the responses.

Rgonzo1971 has the correct solution.

The response from gowflow causes the last four ID's to repeat the same value for each parameter. Not sure why this occurs? I do like the pop-up message window after execution.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
This article describes a serious pitfall that can happen when deleting shapes using VBA.
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabilâ€¦
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calculâ€¦
###### Suggested Courses
Course of the Month11 days, left to enroll