ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA Help (https://www.excelbanter.com/excel-programming/275937-vba-help.html)

ChrisK

VBA Help
 
Hi all,

I'm trying to programatically change the source data of a chart using the
following code:

Dim Workbook As Workbook, Chart As Chart

Set Workbook = Excel.Application.ActiveWorkbook

Workbook.Sheets("NISTData").Activate

Workbook.ActiveSheet.Range("A1").Select

Workbook.ActiveSheet.Range(Selection, Selection.End(xlDown)).Select

Set Chart = Workbook.Charts("NIST1976")

Chart.SetSourceData Workbook.ActiveSheet.Range(Selection,
Selection.Offset(0, 1)).Select

When I run this, I get a "Object Required" error on the last line
(essentially this is setting the source data of the chart to both the
columns in the "NIST1976" sheet)

What obvious thing have I missed?

thanks and kind regards

CK



ChrisK

VBA Help
 
Greg - it works great - many thanks!


Greg Wilson wrote:
Try:

Sub ChangeSourceData()
Dim SorRng As Range, Rw As Long
With Sheets("NISTData")
Rw = .Range("A1").End(xlDown).Row
Set SorRng = .Range("A1:B" & Rw)
End With
Charts("NIST1976").SetSourceData SorRng
End Sub

Regards,
Greg


-----Original Message-----
Hi all,

I'm trying to programatically change the source data of a chart
using the following code:

Dim Workbook As Workbook, Chart As Chart

Set Workbook = Excel.Application.ActiveWorkbook

Workbook.Sheets("NISTData").Activate

Workbook.ActiveSheet.Range("A1").Select

Workbook.ActiveSheet.Range(Selection, Selection.End (xlDown)).Select

Set Chart = Workbook.Charts("NIST1976")

Chart.SetSourceData Workbook.ActiveSheet.Range(Selection,
Selection.Offset(0, 1)).Select

When I run this, I get a "Object Required" error on the last line
(essentially this is setting the source data of the chart to both the
columns in the "NIST1976" sheet)

What obvious thing have I missed?

thanks and kind regards

CK


.





bruce taylor

VBA Help
 
you don't have to use vBA to dynamically change source
data for graphs, can be done using named ranges. Found a
very helpful article (from California company I think).
Try a net search.
-----Original Message-----
Greg - it works great - many thanks!


Greg Wilson wrote:
Try:

Sub ChangeSourceData()
Dim SorRng As Range, Rw As Long
With Sheets("NISTData")
Rw = .Range("A1").End(xlDown).Row
Set SorRng = .Range("A1:B" & Rw)
End With
Charts("NIST1976").SetSourceData SorRng
End Sub

Regards,
Greg


-----Original Message-----
Hi all,

I'm trying to programatically change the source data

of a chart
using the following code:

Dim Workbook As Workbook, Chart As Chart

Set Workbook = Excel.Application.ActiveWorkbook

Workbook.Sheets("NISTData").Activate

Workbook.ActiveSheet.Range("A1").Select

Workbook.ActiveSheet.Range(Selection, Selection.End

(xlDown)).Select

Set Chart = Workbook.Charts("NIST1976")

Chart.SetSourceData Workbook.ActiveSheet.Range

(Selection,
Selection.Offset(0, 1)).Select

When I run this, I get a "Object Required" error on

the last line
(essentially this is setting the source data of the

chart to both the
columns in the "NIST1976" sheet)

What obvious thing have I missed?

thanks and kind regards

CK


.




.



All times are GMT +1. The time now is 10:25 PM.

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