命名并引用VBA中的图表

时间:2013-08-23 13:26:02

标签: vba excel-vba excel-2010 excel

我正在尝试使用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

现在,我希望能够在i = 1 1时创建的i = 2和i = 3时执行操作

但是,我无法这样做。

所以任何人都可以帮助我如何给出我在i = 1时创建的图表的名称,并且能够在i = 2且i = 3 的情况下引用它?

2 个答案:

答案 0 :(得分:4)

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

yourchart.Name = "Name"

或者在工作表中,您可以选择图表,转到Layout标签,右边会有一个文本框,显示Chart Name

然后您可以使用

在vba代码中引用它
Worksheets("yoursheet").ChartObjects("Name").PropertyYouWant

答案 1 :(得分:1)

以下是为图表指定名称的方法:

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