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

将定义的名称公式更改为VBA,vba,excel,Vba,Excel,我试图使图表在VBA中动态更改其范围。我有一个定义的名称(名为“Data”),它可以很好地获取范围,但我希望将其转换为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("D

我试图使图表在VBA中动态更改其范围。我有一个定义的名称(名为“Data”),它可以很好地获取范围,但我希望将其转换为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")
到目前为止,代码可以使用我所拥有的,但是我正在试图找到一种不使用已定义名称的方法

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


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

Dim myRange As Range
Set myRange = [Data]

ActiveChart.SetSourceData Source:=myRange
或者您可以“手动”通过范围:


为什么不在VBA中定义名称?怎么做?@Aysee-要在
VBA
simpy中定义名称并在Excel中记录宏,为什么不使用定义的名称?这通常是我在VBA中的工作方式。通过UI定义名称,使用VBA中的命名范围。它可以在前端/UI中进行调整,而无需用户深入代码。
ActiveChart.SetSourceData Source:=Worksheets("MyNameIsSlim").Range("A1:B10")