У меня есть макрос, который подсчитывает вместе время, которое было использовано для задачи, и показывает, сколько задач было выполнено более чем за 24 часа, но он не учитывает выходные дни. У кого-нибудь есть решение?
Sub FinalizedAt_Hour()
Dim a(), hrs(), k
Dim i As Long
Dim hr As Integer
Dim d As Object, lst As Object
Application.ScreenUpdating = False
Set d = CreateObject("Scripting.Dictionary")
Set lst = CreateObject("System.Collections.ArrayList")
With Sheets("Data")
.[P2].Resize(24, 2).ClearContents
With .[E1].CurrentRegion.Columns(2)
a = .Resize(.Rows.Count, 4).Value
End With
For i = 2 To UBound(a)
hr = Application.Text(a(i, 3) + a(i, 4) - (a(i, 1) + a(i, 2)), "[h]")
If hr >= 24 Then hr = 24
If d.exists(hr) Then
d.Item(hr) = d.Item(hr) + 1
Else
lst.Add hr
d(hr) = 1
End If
Next
lst.Sort
ReDim hrs(0 To d.Count, 1 To 2)
i = 0
For Each k In lst.toarray
hrs(i, 1) = IIf(k < 24, k, ">=24")
hrs(i, 2) = d.Item(k)
i = i + 1
Next
.[P2].Resize(i, UBound(hrs, 2)) = hrs
End With
Set d = Nothing
Set lst = Nothing
End Sub