Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function StripChar(Txt As String) As String
- With CreateObject("VBScript.RegExp")
- .Global = True
- .Pattern = "\D"
- StripChar = .Replace(Txt, "")
- End With
- End Function
- Function ArrayLen(arr As Variant) As Integer
- ArrayLen = UBound(arr) - LBound(arr) + 1
- End Function
- Function HrMinToHr(Txt As String) As Double
- TArray = Split(Txt, ":")
- If ArrayLen(TArray) = 1 Then
- HrMinToHr = CDbl(Txt)
- Else
- HrMinToHr = CDbl(Txt(0)) + CDbl(Txt(1)) / 60
- End If
- End Function
- Function TimeDiff(Txt As String) As String
- Dim TArray() As String
- TArray = Split(Txt, "-")
- Dim hr1 As Double = HrMinToHr(TArray(0))
- Dim hr2 As Double = HrMinToHr(TArray(1))
- Dim diff As Double
- If hr2 < hr1 Then
- diff = 12 - hr1 + hr2
- Else
- diff = hr2 - hr1
- End If
- TimeDiff = diff
- End Function
- Function SumTimes() As Double
- Dim totalHours as Double = 0
- Dim ValArray as Variant
- ValArray = Range("A1:IV" & Rows.Count).Value
- For Each element In ValArray
- If InStr(element, "a-") > 0 Or InStr(element, "p-") > 0 Or InStr(element, ":") > 0 Then
- totalHours += TimeDiff(element)
- End If
- Next element
- SumTimes = totalHours
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement