excel - 在数据透视图中为单个图表值创建永久趋势线
问题描述
我正在尝试为数据透视图上的一个图表值创建一个永久趋势线。我为此编写了一个宏,但似乎我的 for 循环中的 if-else 语句被忽略了。
这是我在 Moduel1 中的代码:
Sub AddTrendLine()
Dim mySeriesCol As SeriesCollection
Set mySeriesCol = ActiveSheet.ChartObjects.Chart.SeriesCollection
For i = 1 To mySeriesCol.Count
If mySeriesCol(i).Name <> "Actual" & mySeriesCol(i).Trendlines.Count > 0 Then
mySeriesCol(i).Trendlines.Delete
ElseIf mySeriesCol(i).Name = "Actual" & mySeriesCol(i).Trendlines.Count = 0 Then
mySeriesCol(i).Trendlines.Add
End If
Next
End Sub
这是我在 Sheet2 中的代码:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Call AddTrendLine
End Sub
这是我得到的:
这是我想看到的:
任何建议将不胜感激。
解决方案
当前mySeriesCol(i).Trendlines.Count > 0
被评估,结果(真/假)与文本“实际”连接。&
所以你当前的代码相当于
If mySeriesCol(i).Name <> "ActualFalse" '<~ or "ActualTrue"
使用And
.
编辑:
也有问题:Set mySeriesCol = ActiveSheet.ChartObjects.Chart.SeriesCollection
。
您想使用特定的ChartObject
.
Sheet1.ChartObjects("your chart name").Chart.SeriesCollection
或者
Sheet1.ChartObjects(1).Chart.SeriesCollection
编辑2:
没有Trendlines.Delete
方法;它是Trendline.Delete
:
mySeriesCol(i).Trendlines(1).Delete
推荐阅读
- android - 将变量分配给 C++ 对象
- python - 在 Python 中绘制更平滑的分岔图
- android - java.lang.IllegalArgumentException: 将 JSON 解析为 kotlin 数据类时指定为非 null 的参数为 null
- php - 如何在 TYPO3 9LTS 中使用 SQLite 进行 PHPUnit 功能测试
- amp-html - 'on' 属性内的 amp-bind JS 操作
- arrays - 用 awk 打印数组的每个元素
- schema.org - 一组事物的 Schema.org 标记是什么?
- rdf - Protégé 中 rdfs:label 的更改顺序
- sd-card - 如何读取/写入字节到 MC60A 的 SD 卡插槽?
- javascript - 如何将数组映射到日期?