使用图表格式化

时间:2017-07-27 08:33:23

标签: excel vba excel-vba

我有一张表,我正在从表中生成图表。

我想生成2个图表。一个带有绝对数字的图表和具有百分比的相同数据的其他图表。

现在,为此,我使用两个代码,只需添加一行来生成Y.axis百分比的图表。

我想定义我的图表将开始的列(例如:G7中的chart1)和G15中的chart2。 (我的代码中没有这个)

我也想为我的图表定义长度,高度和宽度。(我的代码中没有这个)

如果你可以帮助我添加这个要求并在一个程序中完成它会很棒。

Sub chartstatus()

Dim rng As Range
Dim cht As Object

Set rng = ActiveSheet.Range("A2:E53")

Set sh = ActiveSheet.Shapes.AddChart
sh.Select
Set cht = ActiveChart
With cht
    .SetSourceData Source:=rng
    .ChartType = xlColumnClustered
    cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%"
End With

cht.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 255, 255) '<~~ Red
cht.SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
cht.SeriesCollection(3).Format.Fill.ForeColor.RGB = RGB(0, 255, 0)
cht.HasTitle = True
cht.ChartTitle.Text = "Result 2017"

End Sub

我使用相同的代码,删除该行以生成第二个图表

cht.Axes(xlSecondary).TickLabels.NumberFormat = "0.0%"

2 个答案:

答案 0 :(得分:2)

使用{{1}}创建和定义图表,然后修改其所有属性(如位置和维度)的更简单方法。

下面的代码将创建第一个图表,将其放在单元格“G7”中,并修改它的尺寸以显示您需要修改的属性。

您可以为第二个图表添加另一个图表(使用简单的副本&gt;&gt;粘贴)。

<强> 代码

{{1}}

答案 1 :(得分:0)

更改图表位置:

vba to add a shape at a specific cell location in Excel

图表尺寸:

sh.Width = 100 sh.Height = 100