4

我正在尝试使用 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 时创建的同一图表上执行 i=2 和 i=3 时的操作

但是,我无法这样做。

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

4

2 回答 2

6

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

yourchart.Name = "Name"

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

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

Worksheets("yoursheet").ChartObjects("Name").PropertyYouWant
于 2015-04-28T18:58:00.287 回答
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
于 2013-08-23T13:43:31.067 回答