以下代码基本上根据单元格D112值在条形图中添加了一种颜色。现在有没有办法在新数据可用时自动添加颜色并在条形图中添加新条形图?例如,单元格D112是Jan的月份值,现在当我在2月份的单元格D113中获得值时,如何自动为该月的条形图着色?我猜这里必须有某种循环吗?
Sub ColorGraphs()
Dim ChrtObj As ChartObject
Dim Ser As Series
Dim SerPoint As Point
Set ChrtObj = ActiveSheet.ChartObjects("Chart 18")
Set Ser = ChrtObj.Chart.SeriesCollection(1)
Set SerPoint = Ser.Points(3)
With SerPoint.Format.Fill
.Visible = msoTrue
.Transparency = 0
.Solid
End With
Select Case Range("D112").Value
Case Is < 0.96
SerPoint.Format.Fill.ForeColor.RGB = RGB(204, 0, 51)
Range("P8").Interior.Color = RGB(204, 0, 51)
Case 0.96 To 0.98
SerPoint.Format.Fill.ForeColor.RGB = RGB(255, 102, 0)
Range("P8").Interior.Color = RGB(255, 102, 0)
Case Else ' larger than 0.98
SerPoint.Format.Fill.ForeColor.RGB = RGB(0, 153, 102)
Range("P8").Interior.Color = RGB(0, 153, 102)
End Select
End Sub
答案 0 :(得分:0)
尝试将代码放入Private Sub Worksheet_Change(ByVal Target as Range)
。
每次更改单元格时,此Sub
都会运行代码。