分享

Excel之VBA常用功能应用篇:图表制作,如何设置或返回x坐标轴,图表系列值

 每天学学Excel 2022-02-15

Excel图表制作,一直是个难点,由于其类型多,格式也复杂,涉及到的图形也比较多,所以在使用过程当中,会发现有点不知所措。

Chart对象

本节简单介绍一下,使用VBA代码在数据表中的系列值如何设置和返回。

首先还是要获取一个Chart对象,上节我们介绍过,Chart对象就是代表一个图表。

一个图表里面包含了很多图片、文本,下面就对这些图片、文本进行设置做一个梳理。

如下图所示:提取出图表中的年龄和姓名生成一表。

代码

可以重点看一下代码,对照代码进行理解:

Option Explicit

Private Sub GetSeries()

Dim xChart As Object

Set xChart = ThisWorkbook.Charts(1) '返回Chart图表工作表

Dim i As Integer, n As Integer

n = xChart.SeriesCollection.Count '返回系列总数

For i = 1 To n

Range("B6").Offset(i, 0) = xChart.SeriesCollection(i).Name

Next i

Dim xChartObject As Object, xSeries As Object

n = xChart.SeriesCollection.Count

If n >= 1 Then

For i = 1 To n

Set xSeries = xChart.SeriesCollection(i)

Range("B6").Offset(i - 1, 1).Value = xSeries.Name

Next i

End If

xSeries.Select

Dim x As Variant, xArr()

xArr = xSeries.XValues '返回x轴值数组

i = 1

For Each x In xArr

Range("B6").Offset(i, 0).Value = xArr(i)

i = i + 1

Next x

xArr = xSeries.Values '返回系列值数组

i = 1

For Each x In xArr

Range("B6").Offset(i, 1).Value = xArr(i)

i = i + 1

Next x

End Sub

关键代码:

  • Set xChart = ThisWorkbook.Charts(1) '返回Chart图表工作表

  • Set xSeries = xChart.SeriesCollection(1)'返回第一个系列对象

  • xArr = xSeries.XValues '返回x轴值数组

  • xArr = xSeries.Values'返回系列值数组

  • xSeries.Values = Array(222, 221, 1111)'设置系列值

  • xSeries.XValues = Array("姓名一", "姓名二", "姓名三") '设置x轴系列值

Series对象方法和属性

很显然,用到了不止一个对象,有Chart、Series和SeriesCollection,三个对象。

这三个对象分别有许多方法和属性,而这里用到了Series的xValues和Values两个。

其它方法属性,下次再做详细介绍。

关键是如何获取对象,并对对象的哪些属性进行修改,这样再编程序的时候就可以方便地解决我们的需求了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多