Excel VBA Worksheet_Change代码未自动运行

时间:2016-06-29 21:33:58

标签: excel vba worksheet

我有一个跟踪一天活动时间的程序。用户输入活动和当天安排的小时数,程序自动计算他使用的总小时数并在条形图中显示。如果当天活动的小时数超过16小时,该程序会警告他使用MsgBox时使用了太多小时,并使用{{1}将条形颜色更改为黄色事件。

我的问题是警告只会在用户双击全部单元格(自动计算)之后显示,我希望它自动发生。

我相信我需要将Worksheet_Change事件更改为Worksheet_Change事件但是我似乎无法在这种情况下工作,因为有7个可能的地方需要我注意(每天一个)。有关如何实现这一目标的任何建议吗?

以下是更改事件(使用每天的案例陈述):

Worksheet_Calculate

以下是上述模块(目前正在运行):

Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target
        Case Is = Range("F16")
           Call CheckValues(Target, "Monday")
        Case Is = Range("I16")
            'Change the color of the bar
        Case Is = Range("L16")
            'Change the color of the bar
        Case Is = Range("O16")
            'Change the color of the bar
        Case Is = Range("R16")
           'Change the color of the bar
        Case Is = Range("U16")
           'Change the color of the bar
        Case Is = Range("X16")
           'Change the color of the bar
    End Select
End Sub

此外,每天的总时间是在单独的工作表上计算的,如果这有任何区别的话。

0 个答案:

没有答案