本文作者:office教程网

excel图表制作:给多个数据系列添加趋势线的加载宏

office教程网 2024-04-19 21:39:36
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要: 我们手工给多个散点图系列添加了一条趋势线,如下图 1 所示。

图 1
在图表中,最开始有 3 个数据系列,其公式分别为:
=系列(Sheet1!$ C $ 2,Sheet1!$ B $ 3:$ B $ ...

我们手工给多个散点图系列添加了一条趋势线,如下图 1 所示。

图 1

在图表中,最开始有 3 个数据系列,其公式分别为:

=系列(Sheet1!$ C $ 2,Sheet1!$ B $ 3:$ B $ 11,Sheet1!$ C $ 3:$ C $ 11,1)

=系列(Sheet1!$ E $ 2,Sheet1!$ D $ 3:$ D $ 11,Sheet1!$ E $ 3:$ E $ 11,2)

=系列(Sheet1!$ G $ 2,Sheet1!$ F $ 3:$ F $ 11,Sheet1!$ G $ 3:$ G $ 11,3)

注意,图表的系列公式一般有 4 个参数:

= SERIES(系列名称,X 值,Y 值,绘图顺序值)

后来,我们添加了一个所谓的“趋势线”的新系列,合并了原来的 3 个系列的 X 值和 Y 值,其公式为:

= SERIES(“ 趋势线”,

(Sheet1!$ B $ 3:$ B $ 11,Sheet1!$ D $ 3:$ D $ 11,Sheet1!$ F $ 3:$ F $ 11),

(Sheet1!$ C $ 3:$ C $ 11,Sheet1!$ E $ 3:$ E $ 11,Sheet1!$ G $ 3:$ G $ 11),

excel图表制作:创建级联列表框

本文利用excel图表记录集技巧,创建级联列表框。 示例效果如下图1所示。 图1 正如上图1所演示的,创建的一组列表框-Region,Market和State可以联动工作。也就是说,如果选择列表框Region中的某项,那么列表框Market和State仅显示在所选择的Region项中与该项关联的值。同样,选择

4)

组成 X 值和 Y 值的多个单元格区域被包含在括号中。

下面,我们使用 VBA 代码来自动添加趋势线。

代码执行的操作是对图表中的系列进行计数,依次读取每个系列公式,分解其参数,然后将单独的 X 和 Y 值连接为组合的 X 和 Y 值。接着,代码将应用系列公式的参数添加新系列,隐藏标记并添加趋势线。

  • Sub ComputeMultipleTrendline()
  • If Not ActiveChart Is Nothing Then
  • With ActiveChart
  • Dim ixSeries As Long
  • For ixSeries = 1 To .SeriesCollection.Count
  • Dim SeriesFormula As String
  • SeriesFormula = ActiveChart.SeriesCollection(ixSeries).Formula
  • SeriesFormula = Mid$(SeriesFormula, InStr(SeriesFormula, “(“) 1)
  • SeriesFormula = Left$(SeriesFormula, Len(SeriesFormula) – 1)
  • Dim SeriesArgs As Variant
  • SeriesArgs = Split(SeriesFormula, “,”)
  • Dim XAddress As String, YAddress As String
  • XAddress = XAddress & SeriesArgs(LBound(SeriesArgs) 1) &”,”
  • YAddress = YAddress & SeriesArgs(LBound(SeriesArgs) 2) &”,”
  • Next
  • XAddress= “=(” & Left$(XAddress, Len(XAddress) – 1) & “)”
  • YAddress= “=(” & Left$(YAddress, Len(YAddress) – 1) & “)”
  • With ActiveChart.SeriesCollection.NewSeries
  • .Name =”趋势线”
  • .XValues = XAddress
  • .Values= YAddress
  • .Format.Line.Visible = False
  • .MarkerStyle = xlMarkerStyleNone
  • With.Trendlines.Add.Format.Line
  • .DashStyle = msoLineSolid
  • .ForeColor.ObjectThemeColor = msoThemeColorText1
  • .ForeColor.Brightness= 0
  • EndWith
  • End With
  • End With
  • End If
  • End Sub

在工作表中选取图表,运行上述代码,可以看到图表中自动添加了一条趋势线。

安装该加载宏后, Excel 功能会添加一个称为“ Multi Trendline” 的选项卡,带有一个称为“ Multi ScatterTrendline ”的命令按钮,如下图 2 所示。

图 2

在工作表中选择图表,运行“ Multi Scatter Trendline”命令,会弹出一个对话框,可以选择要添加趋势线的图表数据系列前的标记,如下图 3 所示。

图 3

选择要添加趋势线的数据系列后,依次“确定”按钮,图表中会自动绘制一条趋势线,如下图 4 所示。

图 4

VBA教程:数组、集合和字典

之前的一些文章,我们详细解了集合、数组和字典这三种常用的数据结构。在本文中,我们简单小结一下,看看它们之间有哪些区别,以巩固所学的知识。 存储的类型 数组 数组是一组具有相同名称的同类元素。可用来存储多个相同类型的变量。 集合 集合可以用来存储不同的数据类型。 字典 字典可以用来存储不同的数据类型。 注

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:excel图表制作:给多个数据系列添加趋势线的加载宏发布于2024-04-19 21:39:36
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: