用于处理图表&图形的VBA代码大全5

2023-08-30 08:10:43 浏览数 (2)

数据标签

数据标签显示图表系列中数据点的附加信息(如值或系列名称)。

所有代码以srs开始,假设图表系列已被赋值给变量。

显示或隐藏数据标签:

代码语言:javascript复制
'显示系列中所有点的数据标签
srs.HasDataLabels = True
'隐藏系列中所有点的数据标签
srs.HasDataLabels = False

改变数据标签的位置:

代码语言:javascript复制
'定位数据标签
'标签位置必须是图表类型的有效选项
srs.DataLabels.Position = xlLabelPositionAbove
srs.DataLabels.Position = xlLabelPositionBelow
srs.DataLabels.Position = xlLabelPositionLeft
srs.DataLabels.Position = xlLabelPositionRight
srs.DataLabels.Position = xlLabelPositionCenter
srs.DataLabels.Position = xlLabelPositionInsideEnd
srs.DataLabels.Position = xlLabelPositionInsideBase
srs.DataLabels.Position = xlLabelPositionOutsideEnd

误差线

误差线最初用于显示某个值的变化(例如最小值/最大值)。然而,它们也常用于高级图表技术中,以创建额外的视觉元素。

所有代码以srs开始,假设图表系列已被赋值给变量。

打开/关闭误差线:

代码语言:javascript复制
srs.HasErrorBars = True
srs.HasErrorBars = False

误差线端部样式:

代码语言:javascript复制
'修改误差线端部样式
srs.ErrorBars.EndStyle = xlNoCap
srs.ErrorBars.EndStyle = xlCap

误差线颜色:

代码语言:javascript复制
'修改误差线颜色
srs.ErrorBars.Format.Line.ForeColor.RGB = RGB(255, 0, 0)

误差线粗细:

代码语言:javascript复制
'修改误差线粗细
srs.ErrorBars.Format.Line.Weight = 5

误差线方向设置:

代码语言:javascript复制
'误差线设置
srs.ErrorBar Direction:=xlY, _
  Include:=xlPlusValues, _
  Type:=xlFixedValue, _
  Amount:=100
'误差线设置的替代选项包括
'Direction:=xlX
'Include:=xlMinusValues
'Include:=xlPlusValues
'Include:=xlBoth
'Type:=xlFixedValue
'Type:=xlPercent
'Type:=xlStDev
'Type:=xlStError
'Type:=xlCustom
'对误差线应用自定义值
srs.ErrorBar Direction:=xlY, _
  Include:=xlPlusValues, _
  Type:=xlCustom, _
  Amount:="=Sheet1!$A$2:$A$7", _
  MinusValues:="=Sheet1!$A$2:$A$7"

数据点

图表系列中的每个数据点都称为一个点。

引用指定点:

下面的代码引用第一个点,其中,1=第1个图表系列,2=第2个图表系列,依此类推。

代码语言:javascript复制
Dim srs As Series
Dim pnt As Point
Set srs = cht.SeriesCollection(1)
Set pnt = srs.Points(1)

遍历所有点:

代码语言:javascript复制
Dim srs As Series
Dim pnt As Point
Set srs = cht.SeriesCollection(1)
For Each pnt In srs.Points
  '使用"pnt."处理每个点
Next pnt

点具有与系列相似的属性,但这些属性应用于系列中的单个数据点,而不是整个系列。看看下面的几个例子。

对点打开数据标签:

代码语言:javascript复制
pnt.HasDataLabel = True

对点设置数据标签位置:

代码语言:javascript复制
pnt.DataLabel.Position = xlLabelPositionCenter

0 人点赞