将定义的名称公式更改为VBA

时间:2018-06-05 15:38:51

标签: excel vba excel-vba

我正在尝试使图表在VBA中动态更改其范围。我有一个定义的名称(名为“数据”),它可以很好地获得范围,但我希望它被翻译成VBA以便能够分发宏。

定义名称:

=OFFSET(Chart!$A$2,0,0,COUNTA(Chart!$A:$A)+1,COUNTA(Chart!$2:$2)+1)

我到目前为止的VBA代码:

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SetSourceData Source:=Range("Data")

代码与我到目前为止的工作方式一致,但我正试图找到一种不使用已定义名称的方法。

  

编辑:我刚刚录制了一个宏,我添加了名称,并保持我的代码相同。谢谢大家的帮助!

1 个答案:

答案 0 :(得分:1)

这是一种定义范围并将其用作源的方法:

Dim myRange As Range
Set myRange = [Data]

ActiveChart.SetSourceData Source:=myRange

或者您可以“手动”传递范围:

ActiveChart.SetSourceData Source:=Worksheets("MyNameIsSlim").Range("A1:B10")