多个数据验证excel宏

时间:2016-03-16 11:57:50

标签: excel vba excel-vba validation

我需要将以下两个数据验证合并为一个条件

Validation formuala 以下是图片中的完整公式:

((86400 *((E5-D5)+(E6-D6)+(E7-D7)+(E8-D8)+(E9-D9)+(E10-D10)+(E11-D11)) )/ 3600)+(7.5 * SUM(G5:G11))≤= 37.50

Workbook

我认为我需要VBA这样做,请尽可能告知

由于

1 个答案:

答案 0 :(得分:0)

如评论中所述,您可以使用data validation来处理时间戳。

要强制执行“将超过37,5小时的任意工作时间加班”的条件,您可以使用两个公式来解决此问题。

假设工作簿看起来大致如下:

    A          B        C
1  Days       Hours    Hours
2  Monday     8        8
3  Tuesday    8        6
4  Wednesday  8        7
5  Thursday   8        5
6  Friday     8        3
7
8  Regular
9  Overtime
10 Sum hrs

在单元格B8和C8中,使用此公式(将其输入B8并将其复制到C8):
=IF(SUM(B$2:B$6) > 37,5; 37,5; SUM(B$2:B$6))

在单元格B9和C9中,使用此公式(将其输入B9并将其复制到C9):
=IF(SUM(B$2:B$6) > 37,5; SUM(B$2:B$6) - 37,5; 0)

上面的工作簿将如下所示:

    A          B        C
1  Days       Hours    Hours
2  Monday     8        8
3  Tuesday    8        6
4  Wednesday  8        7
5  Thursday   8        5
6  Friday     8        3
7
8  Regular    37,5     29
9  Overtime   2,5      0
10 Sum hrs    40       29

可以对此进行调整(对公式进行一些更改),以便将“已启动的工作”放在一列中,将“已完成的工作”放在另一列中。如果你告诉我你的工作簿看起来如何,我可以看到为你做出这样的改变。