Worksheet_change不使用公式和Worksheet_Calculate给出编译错误

时间:2017-01-06 14:02:02

标签: excel vba excel-vba

我正在尝试根据单元格中的特定值(阶段门1-5)进行图形更改颜色。这是我的测试代码。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$M$2" Then
 If Target.Value = "Stage Gate 5" Then
 Sheet15.ChartObjects(1).Chart.SeriesCollection(2).Points(1).Interior.Color = RGB(167, 34, 110)
 Else
  MsgBox "error"
  End If
 End If
End Sub

只需在单元格中键入值即可正常工作。但是,如果该值是从公式派生的,则它不起作用。我已经尝试将worksheet_Change更改为worksheet_calculate,但这只是给了我Compile error

如果有人能提供帮助那就太棒了。

1 个答案:

答案 0 :(得分:0)

试试这个:

Private Sub Worksheet_Calculate()

If Range("M2").Value = "Stage Gate 5" Then
    Sheet15.ChartObjects(1).Chart.SeriesCollection(2).Points(1).Interior.Color = RGB(167, 34, 110)
Else
    MsgBox "error"
End If

End Sub

即使值来自公式,它仍然有效。