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 时引用它?
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)
这是一种为图表分配名称的方法:
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)