根据工作表上的4个单元格的总和触发userform

时间:2013-12-19 14:29:41

标签: excel vba excel-vba

我在Excel 2010中制作了假日计划/跟踪器。

每位同事都有一张工作表(假期表格),您可以在其中查看一年中的所有52周,因为他们要求将假期日期1放入相应的单元格中。

我还有52个单独的工作表,显示周视图,并列出所有同事。这可以从每个同事假期表中获取信息。

这一切都运作正常,我现在需要做的是,如果4名急救人员在休假的同时打开警告用户表格。

我已经尝试过worksheet_change_event并计算事件,但没有任何效果。

当总和为5 cells(C23:G23) = 0

时,代码需要触发userform

这些细胞中的每一个的值来自函数> 4-sum(C9,c10,c16,c18)并将其复制到其他4个单元格中,具体取决于它们从c到g的列。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用Worksheet_Change尝试此操作。

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCheck As Range
'// Define the range you need to check:
Set rngCheck = Range("C9:G9,C10:G10,C16:G16,C18:G18")

'// Check to see if the Change happens to one of the computation cells
If Intersect(Target, rngCheck) Is Nothing Then Exit Sub


Call Your_SubRoutine

End Sub

答案 1 :(得分:-1)

您可以添加一些条件格式。这可以在不必使用VBA的情况下快速突出显示任何问题,如果要在多个用户之间共享工作表(它们都不可信任以允许宏),则非常有用。

另外,我质疑为什么你有52张输出表?看起来像矫枉过正?每张纸需要多少同事?有多少人可以访问它?一个月的观点是否足够?您可以将所有同事和日期放在一张年度表上,然后使用过滤器一次查看一位同事,或按部门查看等等吗?