在vba中图表对象Chart的Axes方法可以返回图表的坐标轴。
它可以返回单个坐标轴(横坐标轴或者纵坐标轴)或者所有坐标轴的集合。
它的语法如下:
expression. Axes( _Type_ , _AxisGroup_ )
其中Type参数为要返回的坐标轴的类型,可以是以下值:
名称 | 值 | 说明 |
xlCategory | 1 | 横坐标轴 |
xlValue | 2 | 纵坐标轴 |
xlSeriesAxis | 3 | 系列坐标轴 |
AxisGroup参数为要返回主坐标轴还是次坐标轴,可以是以下值:
名称 | 值 | 说明 |
xlPrimary | 1 | 主坐标轴 |
xlSecondary | 2 | 次坐标轴 |
在vba中Axis对象表示图表中的单个坐标轴,Axes对象表示图表中的坐标轴集合。
如果要返回坐标轴集合,只需将Axes方法的两个参数省略即可。
以下vba代码举例说明了如何设置图表的纵坐标轴的最大、最小刻度值以及坐标轴的单位和横坐标轴显示的数值格式。
Sub QQ1722187970() '创建内嵌的图表 Dim oWK As Worksheet Set oWK = Sheet1 Dim oChart As Chart Set oChartObject = oWK.ChartObjects(1) Set oChart = oChartObject.Chart Dim oSeries As Series Dim oTL As TickLabels '单个坐标轴 Dim oA As Axis '坐标轴集合 Dim oAS As Axes Dim vXV Dim vValues Dim vBS With oChart '设置纵坐标 Set oAZ = .Axes(xlValue, xlPrimary) With oAZ '坐标轴的大单位 .MajorUnit = 10 '坐标轴的小单位 .MinorUnit = 5 '最小刻度值 .MinimumScale = 0 '最大刻度值 .MaximumScale = 100 '横坐标交叉于纵坐标的具体刻度值 .CrossesAt = 10 Set oTL = .TickLabels '设置坐标轴的数值标记的数值格式 With oTL .NumberFormat = "0" End With End With '设置横坐标 Set oAH = .Axes(xlCategory, xlPrimary) With oAH Set oTL = .TickLabels '设置坐标轴的数值标记的数值格式 With oTL .NumberFormat = "0" End With End With End With End Sub
发表评论