在 VBA 中命名和引用图表

kir*_*ira 4 excel vba excel-2010

我正在尝试使用 VBA 在 excel 中创建图表。代码如下:

Sub testmacro()    
    Dim i As Integer     
    i = Sheets("Data").Range("M2").Value
  Sheets("Email ID").Activate
    Range("A1").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered

    If i = 1 Then  
        ActiveChart.SetSourceData Source:=Range("Data!$E$1:$F$3")        
    ActiveChart.SeriesCollection(1).Select
    With Selection.Format.Fill
       .
       .
       .        
    End If     

    If i = 2 Then

   End if

   If i=3 Then  

    End If   

End Sub
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够在 i=1 时创建的同一个图表上在 i=2 和 i=3 时执行操作

但是,我无法这样做。

那么任何人都可以帮助我如何为我在 i=1 时创建的图表命名,并且能够在 i=2 和 i=3 时引用它

Ped*_*raz 6

Kira,您可以使用以下代码通过代码更改图表名称:

yourchart.Name = "Name"
Run Code Online (Sandbox Code Playgroud)

或者在工作表中,您可以选择图表,转到Layout选项卡,在右边缘会有一个文本框说Chart Name

然后你可以在你的 vba 代码中使用它来引用它

Worksheets("yoursheet").ChartObjects("Name").PropertyYouWant
Run Code Online (Sandbox Code Playgroud)


Gar*_*ent 5

这是一种为图表分配名称的方法:

Sub dural()
    Dim ch As Shape
    Range("A1").Select
    ActiveSheet.Shapes.AddChart.Select
    Set ch = ActiveSheet.Shapes(1)
    ch.Name = "First Chart"
End Sub
Run Code Online (Sandbox Code Playgroud)