ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 7915|回复: 4

[讨论] Series 对象小结

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-1-9 23:04 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
http://navigation-china.com/ExcelVBA/Main.htm
Series 对象

描述

代表图表中的系列。Series 对象是 SeriesCollection 集合的成员。

使用Series 对象

可用 SeriesCollection(index) (其中 index 为系列编号或名称)返回单个Series 对象。下例设置工作表“Sheet1”上第一张内嵌图表中第一个系列的内部颜色。

Worksheets("sheet1").ChartObjects(1).Chart. _

SeriesCollection(1).Interior.Color = RGB(255, 0, 0)

系列编号指出系列添加到图表中的顺序。SeriesCollection(1) 为第一个添加到图表中的系列,而 SeriesCollection(SeriesCollection.Count) 为最后一个。

属性

Application 属性,ApplyPictToEnd 属性,ApplyPictToFront 属性,ApplyPictToSides 属性,AxisGroup 属性,BarShape 属性,Border 属性,BubbleSizes 属性,ChartType 属性,Creator 属性,ErrorBars 属性,Explosion 属性,Fill 属性,Formula 属性,FormulaLocal 属性,FormulaR1C1 属性,FormulaR1C1Local 属性,FormulaLocal 属性,Has3DEffect 属性,HasDataLabels 属性,HasErrorBars 属性,HasLeaderLines 属性,Interior 属性,InvertIfNegative属性,LeaderLines属性,MarkerBackgroundColor 属性,MarkerBackgroundColorIndex属性,MarkerForegroundColor 属性,MarkerForegroundColorIndex 属性,MarkerSize 属性,MarkerStyle 属性,Name 属性,Parent 属性,PictureType 属性,PictureUnit 属性,PlotOrder 属性,Shadow 属性,Smooth 属性,Type 属性,Values 属性,XValues 属性

方法

ApplyCustomType 方法,ApplyDataLabels 方法,ClearFormats 方法,Copy方法,DataLabels 方法,Delete 方法,ErrorBar 方法,Paste 方法(Point 或者 Series 对象),Points 方法,Select 方法,Trendlines 方法

[ 本帖最后由 ningyong58 于 2010-1-9 23:07 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-9 23:07 | 显示全部楼层
SeriesChange 事件

适用于

Chart 对象

描述

当用户更改图表数据点的值时产生此事件。

句法

Private Sub object_SeriesChange(ByVal SeriesIndex As Long, ByVal

PointIndex As Long)

Object

在类模块中带有事件声明的 Chart 类型对象。有关详细内容,另见嵌入式图表事件的句法。

SeriesIndex

表示更改系列在 Series 集合中的偏移量。

PointIndex

表示更改数据点在 Points 集合中的偏移量。

示例

本示例当用户更改绘制点的值时对绘制点边框的颜色进行设置。
Private Sub Chart_SeriesChange(ByVal SeriesIndex As Long, _
ByVal PointIndex As Long)
Set p = Me.SeriesCollection(SeriesIndex).Points(PointIndex)
    p.Border.ColorIndex = 3
End Sub

--------------------------------------------------------------------------------

SeriesCollection 集合对象

描述

指定的图表或图表组中所有 Series 对象的集合。

使用SeriesCollection 集合对象

可用 SeriesCollection 方法返回 SeriesCollection 集合。下例将第一张工作表上单元格区域“C1:C10”中的数据添加到第一张内嵌图表中的系列集合中已存在的系列中。

Worksheets(1).ChartObjects(1).Chart. _

SeriesCollection.Extend Worksheets(1).Range("c1:c10")

可用 Add 方法创建新系列并将其添加到图表中。下例将单元格区域“A1:A19”中的数据作为新系列添加到图表工作表“Chart1”中。

Charts("Chart1").SeriesCollection.Add _

source:=Worksheets("sheet1").Range("a1:a19")

可用 SeriesCollection(index) (其中 index 为系列编号或名称)返回单个Series 对象。下例设置工作表“Sheet1”上第一张内嵌图表中第一个系列的内部颜色。

Worksheets("sheet1").ChartObjects(1).Chart. _

SeriesCollection(1).Interior.Color = RGB(255, 0, 0)

属性Application 属性,Count 属性,Creator 属性,Parent 属性

方法

Add 方法(SeriesCollection 集合),Extend 方法,Item 方法(SeriesCollection

集合),NewSeries方法,Paste 方法(SeriesCollection 集合)


--------------------------------------------------------------------------------

SeriesCollection 方法

适用于

Chart 对象,ChartGroup 对象

描述

返回一个对象,该对象既可代表单个系列(一个 Series 对象,句法 1),

也可代表图表或图表组中所有系列的集合(一个 SeriesCollection 对象,

句法 2)。

句法 1

expression.SeriesCollection(Index)

句法 2

expression.SeriesCollection

expression

必选,该表达式返回一个 Chart 对象或 ChartGroup 对象。

Index

Variant 类型,可选。系列的名称或号码。

示例

本示例显示“Chart1”中第一个系列的数据标志。
Charts("Chart1").SeriesCollection(1).HasDataLabels = True

--------------------------------------------------------------------------------

SeriesLines 对象

描述

代表图表组中的系列线。系列线连接每个系列中的数据。只有二维堆积条形图或柱形图图表组可有系列线。本对象并非集合。没有代表单个系列线的对象;要么打开图表组中所有数据点的系列线,要么将其全部关闭。

使用SeriesLines 对象

可用 SeriesLines 属性返回 SeriesLines 对象。下例向第一张工作表上第一张内嵌图表中的第一个图表组添加系列线(该图表必须是二维堆积条形图或柱形图)。

With Worksheets(1).ChartObjects(1).Chart.ChartGroups(1)

.HasSeriesLines = True

.SeriesLines.Border.Color = RGB(0, 0, 255)

End With

说明

如果 HasSeriesLines 属性为 False,SeriesLines 对象的绝大部分属性将禁用。

属性

Application 属性,Border 属性,Creator 属性,Name 属性,Parent 属性

方法

Delete 方法,Select 方法


--------------------------------------------------------------------------------

SeriesLines 属性

适用于

ChartGroup 对象

描述

返回一个 SeriesLines 对象,此对象代表堆积条形图或者堆积柱形图的系列线。仅应用于堆积条形图和堆积柱形图。只读。

另见

HasSeriesLines 属性

示例

本示例显示“Chart1”中图表组一的系列线,并对其线型、粗细、颜色进行设置。
本示例需在有两个或多个系列的二维堆积柱形图上运行。
With Charts("Chart1").ChartGroups(1)
.HasSeriesLines = True
With .SeriesLines.Border
.LineStyle = xlThin
.Weight = xlMedium
.ColorIndex = 3
End With
End With

TA的精华主题

TA的得分主题

发表于 2010-11-9 16:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
把帮助文件写了一遍?
我想问问,seriescollection.add和seriescollection.newseries的区别是什么,还有parent的属性是什么意思

TA的精华主题

TA的得分主题

发表于 2023-3-12 09:38 | 显示全部楼层
dd.jpg 3



  1. Sub ll1()
  2.     Dim Arr1, Arr2
  3.         Arr1 = Array("A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8")
  4.         Arr2 = Array("M1", "MM2", "MMM3", "MMMM4")
  5.     Dim xChart As Chart
  6.         Set xChart = Application.ActiveChart
  7.         ''
  8.         Dim Sht As Worksheet
  9.         Dim Rng As Range
  10.         Dim ii, jj, Str
  11.             Set Sht = Sheet1
  12.         Dim Arr(7)
  13.         
  14.         With xChart
  15.             
  16.              If .SeriesCollection.Count < 3 Then
  17.                 For ii = 1 To 4
  18.                     .SeriesCollection.NewSeries
  19.                 Next ii
  20.              End If
  21.              ''
  22.             
  23.              For ii = 4 To 1 Step -1
  24.                  For jj = 0 To 7
  25.                      Sht.Cells(ii + 1, jj + 2) = Format(Rnd(1), "h:mm")
  26.                  Next jj
  27.              Next ii
  28.              .SetSourceData Source:=Sht.Range("b1:i5"), PlotBy:=xlRows
  29.              .SeriesCollection(1).XValues = Arr1 ' Sht.Range("b1:i1")
  30.              .HasDataTable = True
  31.              .HasLegend = False
  32.              For ii = 4 To 1 Step -1
  33.                  .SeriesCollection(ii).Name = Arr2(ii - 1)
  34.                  Str = Sht.Cells(ii + 1, 1)
  35.                  Select Case ii
  36.                        Case 1, 2
  37.                             .SeriesCollection(ii).ChartType = xlColumnStacked
  38.                        Case 3, 4
  39.                             .SeriesCollection(ii).ChartType = xlLine
  40.                             .SeriesCollection(ii).AxisGroup = 2
  41.                  End Select
  42.                  
  43.              Next ii
  44.         
  45.         End With
  46. End Sub
复制代码


TA的精华主题

TA的得分主题

发表于 2023-3-12 16:30 | 显示全部楼层
  1. Sub ll1()
  2.     Dim Pres As Presentation
  3.     Dim Sld As Slide, ShpRng As ShapeRange
  4.     Dim Arr1, Arr2
  5.         Arr1 = Array("A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8")
  6.         Arr2 = Array("M1", "MM2", "MMM3", "MMMM4")
  7.     Dim xChart As Chart
  8.     Dim Ww As Workbook
  9.         ''
  10.         Dim Sht As Worksheet
  11.         Dim Rng As Range
  12.         Dim ii, jj, Str
  13.         Dim Arr(7)
  14.         Set Pres = Application.ActivePresentation
  15.         Set Sld = Pres.Slides(1)
  16.         Set xChart = Sld.Shapes(2).Chart
  17.         
  18.         
  19.         With xChart
  20.              Debug.Print .Name
  21.              .ChartData.Activate
  22.              Set Ww = .ChartData.Workbook
  23.             
  24.              Set Sht = Ww.Worksheets(1)
  25.              If .SeriesCollection.Count < 3 Then
  26.                 For ii = 1 To 4
  27.                     .SeriesCollection.NewSeries
  28.                 Next ii
  29.              End If
  30.              ''
  31.             
  32.              For ii = 4 To 1 Step -1
  33.                  For jj = 0 To 7
  34.                      Sht.Cells(ii + 1, jj + 2) = Format(Rnd(1), "h:mm")
  35.                  Next jj
  36.              Next ii
  37.              Set Rng = Sht.Range("b1:i5")
  38.              '.SetSourceData Source:=Sht.Range("b1:i5"), PlotBy:=xlRows
  39.              .SeriesCollection(1).XValues = Arr1 ' Sht.Range("b1:i1")
  40.              .HasDataTable = True
  41.              .HasLegend = False
  42.              For ii = 4 To 1 Step -1
  43.                  .SeriesCollection(ii).Name = Arr2(ii - 1)
  44.                  Str = Sht.Cells(ii + 1, 1)
  45.                  Select Case ii
  46.                        Case 1, 2
  47.                             .SeriesCollection(ii).ChartType = xlColumnStacked
  48.                        Case 3, 4
  49.                             .SeriesCollection(ii).ChartType = xlLine
  50.                             .SeriesCollection(ii).AxisGroup = 2
  51.                  End Select
  52.                  
  53.              Next ii
  54.         
  55.         End With
  56. End Sub

复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 13:46 , Processed in 0.040084 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表