Excel根据单元格颜色设置折线图颜色

https://www.coder.work/article/7850118

 

  • 遍历 SeriesCollectionChart并捕获Formula每个 Series .
  • 使用 Split 获取对源数据(公式的第 3 部分)的引用.
  • 设置ForeColor.RGB每个 Series等于 Interior.Color与其关联的数据范围。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub ColorMyChart()
    Dim myChart As ChartObject
    Set myChart = Sheet1.ChartObjects("Chart 1")
 
    With myChart.Chart
        Dim i As Integer
 
        For i = 1 To .SeriesCollection.Count
 
            Dim dataAddress As String
            ' takes a formula like =SERIES(Sheet1!$A$2,Sheet1!$B$1:$K$1,Sheet1!$B$2:$K$2,1)
            ' and returns Sheet1!$B$2:$K$2
            dataAddress = Split(.SeriesCollection(i).Formula, ",")(2)
 
            Dim dataColor As Long
            ' assumes the data range all has the same color
            dataColor = Sheet1.Range(dataAddress).Interior.Color
 
            .SeriesCollection(i).Format.Line.ForeColor.RGB = dataColor
        Next i
    End With
End Sub

  

 

posted @   liushao-AI  阅读(112)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示