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

Tim*_*sen 1 excel linegraph colors

所以我有一组数据,见下图。 在此处输入图片说明

我希望折线图的颜色与相应行的背景颜色相同。在此示例中,顶部 10 应为绿色,底部 10 应为红色。这是我将继续做的事情,有时数据集很大,因此单独选择每条线的颜色不是一个可行的选择。

任何人都可以帮我吗?-蒂姆

Big*_*Ben 5

像这样的事情可能会让你大部分时间都在那里。

  • 迭代通过SeriesCollectionChart,并抓住Formula每一个Series
  • 使用 获取对源数据(公式的第三部分)的引用Split
  • 设置ForeColor.RGB每一个Series等于该Interior.Color数据的范围与它相关联。

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
Run Code Online (Sandbox Code Playgroud)