我正在嘗試確定低于的系列點,0然后將條形置于紅色。
以下回圈應該可以解決問題,但會引發錯誤:
For i = 1 To cht.FullSeriesCollection(1).Points.Count
If (cht.FullSeriesCollection(1).Values(i) < 0) Then cht.FullSeriesCollection(1).Points(i).Format.ForeColor.RGB = RGB(255, 0, 0)
Next i
cht 在哪里:
Set cht = Ws.ChartObjects("Chart 5").Chart
拋出的錯誤是:
未定義屬性讓程式且屬性獲取程式未回傳物件
當執行停止時,以下代碼行高亮顯示:
cht.FullSeriesCollection(1).Values(i)
我也試過:
cht.SeriesCollection(1).Values(i) < 0
資料集:X 軸 =
18.3
11.5
6.1
4.2
1.8
Y 軸 =
-1.2
-4.8
-9.6
17.8
0.9
uj5u.com熱心網友回復:
你很近;問題在于.Points(i).Format.ForeColor.RGB,應該是:
.Points(i).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
為了提高可讀性,請嘗試以下操作:
Dim cht As Chart
Set cht = Ws.ChartObjects("Chart 5").Chart
Dim s As Series
Set s = cht.FullSeriesCollection(1)
Dim i As Long
For i = 1 To s.Points.Count
If s.Values(i) < 0 Then
s.Points(i).Format.Fill.ForeColor.RGB = vbRed
End If
Next
示例圖表:

示例圖表 2:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/348358.html
