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
  • Learn & ask questions
Solved

Extract equation parameters from chart

Posted on 2014-01-07
3
403 Views
Last Modified: 2014-01-07
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
Comment
Question by:dougf1r
3 Comments
 
LVL 50

Accepted Solution

by:
Rgonzo1971 earned 500 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

Open in new window

EDIT Now FormulaLocal

Regards
0
 
LVL 29

Expert Comment

by:gowflow
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

by:dougf1r
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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question