ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Charts and Charting in Excel (https://www.excelbanter.com/charts-charting-excel/)
-   -   Creating data from a chart (https://www.excelbanter.com/charts-charting-excel/187190-creating-data-chart.html)

Sarah0824

Creating data from a chart
 
If someone emails me a chart, but does not include the source data, is there
anyway to generate that data from the chart?

Andy Pope

Creating data from a chart
 
Hi,

Assuming you have a chart and not an image of a chart you could either
Select a series and go to the formula bar and press F9.

In a very simple test example the following formula converted to,

=SERIES(,[Book3]Sheet1!$A$2:$A$5,[Book3]Sheet1!$B$2:$B$5,1)

=SERIES(,{"a","b","c","d"},{1,2,3,4},1)

or you could try using code.

Sub GetChartData()
' output labels and values to sheet
Dim vntData As Variant
Dim vntLabels As Variant
Dim lngIndex As Long

With ActiveChart
With .SeriesCollection(1)
vntData = .Values
vntLabels = .XValues
For lngIndex = LBound(vntData) To UBound(vntData)
ActiveSheet.Cells(lngIndex, 1) = vntLabels(lngIndex)
ActiveSheet.Cells(lngIndex, 2) = vntData(lngIndex)
Next
End With
End With

End Sub

Cheers
Andy


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info
"Sarah0824" wrote in message
...
If someone emails me a chart, but does not include the source data, is
there
anyway to generate that data from the chart?



Brad

Creating data from a chart
 
In the event someone is trying to extract data from a chart "picture" where
there are no linked data, there is a neat little Excel-based utility where
one inputs known x and y axes limits and a few other inputs, then it
approximates the values found in the graph.

Andy and others, no doubt, could program such things. This one is someone's
commercial effort...

Google for... Grab It! Graph Digitizer.

Cheers! Brad


"Andy Pope" wrote in message
...
Hi,

Assuming you have a chart and not an image of a chart you could either
Select a series and go to the formula bar and press F9.

In a very simple test example the following formula converted to,

=SERIES(,[Book3]Sheet1!$A$2:$A$5,[Book3]Sheet1!$B$2:$B$5,1)

=SERIES(,{"a","b","c","d"},{1,2,3,4},1)

or you could try using code.

Sub GetChartData()
' output labels and values to sheet
Dim vntData As Variant
Dim vntLabels As Variant
Dim lngIndex As Long

With ActiveChart
With .SeriesCollection(1)
vntData = .Values
vntLabels = .XValues
For lngIndex = LBound(vntData) To UBound(vntData)
ActiveSheet.Cells(lngIndex, 1) = vntLabels(lngIndex)
ActiveSheet.Cells(lngIndex, 2) = vntData(lngIndex)
Next
End With
End With

End Sub

Cheers
Andy


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info
"Sarah0824" wrote in message
...
If someone emails me a chart, but does not include the source data, is
there
anyway to generate that data from the chart?





Sarah0824

Creating data from a chart
 
Great. thank you!

"Andy Pope" wrote:

Hi,

Assuming you have a chart and not an image of a chart you could either
Select a series and go to the formula bar and press F9.

In a very simple test example the following formula converted to,

=SERIES(,[Book3]Sheet1!$A$2:$A$5,[Book3]Sheet1!$B$2:$B$5,1)

=SERIES(,{"a","b","c","d"},{1,2,3,4},1)

or you could try using code.

Sub GetChartData()
' output labels and values to sheet
Dim vntData As Variant
Dim vntLabels As Variant
Dim lngIndex As Long

With ActiveChart
With .SeriesCollection(1)
vntData = .Values
vntLabels = .XValues
For lngIndex = LBound(vntData) To UBound(vntData)
ActiveSheet.Cells(lngIndex, 1) = vntLabels(lngIndex)
ActiveSheet.Cells(lngIndex, 2) = vntData(lngIndex)
Next
End With
End With

End Sub

Cheers
Andy


--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info
"Sarah0824" wrote in message
...
If someone emails me a chart, but does not include the source data, is
there
anyway to generate that data from the chart?




All times are GMT +1. The time now is 02:06 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com