我正在尝试在VBA中的图表上创建动态源数据,因为它可能因通过宏插入的数据而异。到目前为止,我有:
Set Rng = Sheets("Mapping Tables").Range("J13", Sheets("Mapping Tables").Range("J13").End(xlDown).End(xlToRight)).Select
Worksheets("Vintage").Charts("Vintage_1").SetSourceData Rng, PlotBy:=xlColumns
但是,当我单步执行set range命令中的代码时,正在选择我的单元格。当我运行SetSourceData步骤时,什么都没有发生。当我将鼠标悬停在Rng变量上时,它表示=无。
我以前从未真正做过动态图表,但是我不明白为什么在选择范围时为什么我的范围等于零。
谢谢。
答案 0 :(得分:1)
实际上,如果我没有记错的话,第一行应该给你一个错误。您不能将范围设置为“ .select”语句。 尝试删除最后的“ .select”
编辑:在定义连续范围(例如表格)时,可以使用更简洁的方法:
Sink
答案 1 :(得分:1)
尝试一下。
Sub test()
Dim Rng As Range
Dim obj As ChartObject
Set Rng = Sheets("Mapping Tables").Range("J13", Sheets("Mapping Tables").Range("J13").End(xlDown).End(xlToRight))
Set obj = Worksheets("Vintage").ChartObjects("Vintage_1")
With obj.Chart
.SetSourceData Rng, PlotBy:=xlColumns
End With
End Sub