2013-08-23 31 views
0

我想在使用VBA的Excel中创建图表。的代码如下:命名和引用VBA中的图表

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 = 2和I I创建i = 1时

然而,我在同一图表上= 3无法这样做。

所以任何人都可以帮我如何为我创建的图表命名,当我= 1,并能够引用它,我i = 2和i = 3

回答

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 
+0

并且你还可以在你的答案中包括如何在未来的情况下在vba代码中引用它?我的意思是如何称呼它? – kira

4

基拉,你可以使用代码更改图表名称:

yourchart.Name = "Name" 

或者在工作表中,您可以选择图表,进入Layout选项卡,在右边会出现一个文本框,说Chart Name

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

Worksheets("yoursheet").ChartObjects("Name").PropertyYouWant