Tim*_*sen 1 excel linegraph colors
我希望折线图的颜色与相应行的背景颜色相同。在此示例中,顶部 10 应为绿色,底部 10 应为红色。这是我将继续做的事情,有时数据集很大,因此单独选择每条线的颜色不是一个可行的选择。
任何人都可以帮我吗?-蒂姆
像这样的事情可能会让你大部分时间都在那里。
SeriesCollection的Chart,并抓住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)