收到新数据时,自动在条形图中新添加条形图

时间:2018-03-26 19:12:51

标签: excel excel-vba excel-formula vba

以下代码基本上根据单元格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

1 个答案:

答案 0 :(得分:0)

尝试将代码放入Private Sub Worksheet_Change(ByVal Target as Range)

每次更改单元格时,此Sub都会运行代码。