【发布时间】:2017-02-02 04:42:24
【问题描述】:
首先我愿意从另一个角度来做这件事。
我想计算估计的总工作时数,请参阅表 2。在另一个子中,我用 worksheetfunction.sum 计算了总工作时间(计时器 tot),用 worksheetfunction.sumif 计算了计时器 FRJ/HET。此代码不考虑重叠天数,这意味着如果日期彼此相交,它将计算 8*2(3,4,5...)(8 小时是挪威的平均工作日),而不是每个工作日 8 小时。这会弄乱估计的总时间,并且我们可能会估计每天的小时数超过 24 小时:D
我已经开始使用这段代码来减去 FRJ 和 HET 的总时间和总金额。
代码:
Sub Overlapping_WorkDays()
Dim rng_FRJ_HET As Range
Dim cell_name As Range
Dim startDateRng As Range
Dim endDateRng As Range
Set rng_FRJ_HET = Sheet1.Range("A8", Sheet1.Range("A8").End(xlDown))
Set startDateRng = Sheet1.Range("D8", Sheet1.Range("D8").End(xlDown))
Set endDateRng = Sheet1.Range("E8", Sheet1.Range("E8").End(xlDown))
For Each cell_name In rng_FRJ_HET
If cell_name = "FRJ" Then
'Count Overlapping networkdays for FRJ
Elseif cell_name = "HET" Then
'Count Overlapping networkdays for HET
End If
Next cell_name
End Sub
Sheet1 截图
Sheet2 截图
【问题讨论】:
-
是否有可能像我一样开始并在 if 语句中编写 som 代码,或者这是在远程解决方案中?
标签: excel vba date count overlap