下面我们就来看看在Excel VBA两种方案。一个程序通过所有图表循环在片材上,并且每个图表变为饼图。

其他程序改变第一图表的一些性质。

1.创建一些图表(或下载Excel文件)。

Programming Charts in Excel VBA

将工作表上的命令按钮并添加以下代码行:

1.首先,我们需要声明一个ChartObject对象。所述ChartObject对象充当一个图表对象的容器。我们称ChartObject CHT但你可以使用任何名字。

Dim cht As ChartObject
  1. ChartObjects集合包含在单个表中的所有嵌入图表。我们希望通过第一表中的所有图表循环。添加下面的For Each Next循环。

For Each cht In Worksheets(1).ChartObjects

Next cht

3.图表对象表示工作簿中的图表。下面的代码行添加到对于每个Next循环到每个图表改变到饼图。

cht.Chart.ChartType = xlPie

注:再次,CHT充当Chart对象的容器。我们使用ChartType属性来更改图表类型。我们使用内置恒流xlPie每个图表更改为饼图。

当您单击工作表上的命令按钮4.结果:

Programming Charts Result

现在,我们将改变第一个图表的一些性质。

将另一个命令按钮

在工作表,并添加以下代码行:

  1. ChartObjects集合包含在单个表中的所有嵌入图表。添加以下代码行,以激活所述第一图表:

Worksheets(1).ChartObjects(1).Activate

现在,我们可以参考这个图表作为ActiveChart。

6.添加以下代码行来更改图表标题。

ActiveChart.ChartTitle.Text = "Sales Report"

7.添加以下代码线图例移动到图表的底部:

ActiveChart.Legend.Position = xlBottom

当您单击工作表上的命令按钮8.结果:

Programming Charts Result