基本的图表设置
下面的代码以cht开始,假设已经使用上面介绍的代码引用了图表。
改变图表类型:
代码语言:javascript复制cht.ChartType = xlArea
cht.ChartType = xlLine
cht.ChartType = xlPie
cht.ChartType = xlColumnClustered
cht.ChartType = xlColumnStacked
cht.ChartType = xlColumnStacked100
cht.ChartType = xlArea
cht.ChartType = xlAreaStacked
cht.ChartType = xlBarClustered
cht.ChartType = xlBarStacked
cht.ChartType = xlBarStacked100
在工作表中创建空白ChartObject:
代码语言:javascript复制'创建一个嵌入到工作表中的空图表
Set cht = Sheets("Sheet1").Shapes.AddChart2.Chart
为图表选择数据源:
代码语言:javascript复制Dim rng As Range
Set rng = Sheets("Sheet1").Range("A1:B4")
cht.SetSourceData Source:=rng
删除图表对象或图表工作表:
代码语言:javascript复制If TypeName(cht.Parent) = "ChartObject" Then
cht.Parent.Delete
ElseIf TypeName(cht.Parent) = "Workbook" Then
cht.Delete
End If
改变图表的大小或位置:
代码语言:javascript复制'设置图表对象的大小/位置-方法1
cht.Parent.Height = 200
cht.Parent.Width = 300
cht.Parent.Left = 20
cht.Parent.Top = 20
'设置图表对象的大小/位置-方法2
chtObj.Height = 200
chtObj.Width = 300
chtObj.Left = 20
chtObj.Top = 20
改变可见单元格设置:
代码语言:javascript复制'修改设置仅显示可见单元格
cht.PlotVisibleOnly = False
修改柱形/条形间的空间(间隙宽度):
代码语言:javascript复制'改变两个条形之间的间隙空间
cht.ChartGroups(1).GapWidth = 50
更改柱形/条形的重叠:
代码语言:javascript复制cht.ChartGroups(1).Overlap = 75
移除图表对象的外侧边框:
代码语言:javascript复制cht.ChartArea.Format.Line.Visible = msoFalse
改变图表背景颜色:
代码语言:javascript复制'设置图表区域填充颜色
cht.ChartArea.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
'设置图表没有背景颜色
cht.ChartArea.Format.Fill.Visible = msoFalse
图表坐标轴
图表有四个坐标轴:
1. xlValue
2.xlValue, xlSecondary
3.xlCategory
4.xlCategory, xlSecondary
在下面的例子中,这些可以互换使用。为了使代码适应你的特定需求,需要更改括号中引用的图表坐标轴。
所有的代码以cht开始,假设已经使用上面介绍的代码引用了图表。
设置图表坐标轴的最小值和最大值:
代码语言:javascript复制cht.Axes(xlValue).MaximumScale = 25
cht.Axes(xlValue).MinimumScale = 10
cht.Axes(xlValue).MaximumScaleIsAuto = True
cht.Axes(xlValue).MinimumScaleIsAuto = True
显示或隐藏图表坐标轴:
代码语言:javascript复制'显示坐标轴
cht.HasAxis(xlCategory) = True
'隐藏坐标轴
cht.HasAxis(xlValue, xlSecondary) = False
显示或隐藏图表标题:
代码语言:javascript复制'显示坐标轴标题
cht.Axes(xlCategory, xlSecondary).HasTitle = True
'隐藏坐标轴标题
cht.Axes(xlValue).HasTitle = False
修改图表坐标轴标题文本:
代码语言:javascript复制cht.Axes(xlCategory).AxisTitle.Text = "我的坐标轴标题"
反转分类轴的顺序:
代码语言:javascript复制'反转分类轴的顺序
cht.Axes(xlCategory).ReversePlotOrder = True
'设置分类轴为默认顺序
cht.Axes(xlCategory).ReversePlotOrder = False