You could try this UDF.
Function GetTimeFromString(strTime As String) As Date
Dim dicTimeParts As Object
Dim arrTimeParts As Variant
Dim idx As Long
Set dicTimeParts = CreateObject("Scripting.Dictionary")
dicTimeParts("h") = 0
dicTimeParts("m") = 0
dicTimeParts("s") = 0
arrTimeParts = Split(strTime, " ")
For idx = LBound(arrTimeParts) To UBound(arrTimeParts)
dicTimeParts(Right(arrTimeParts(idx), 1)) = Left(arrTimeParts(idx), Len(arrTimeParts(idx)) - 1)
Next idx
GetTimeFromString = TimeSerial(dicTimeParts("h"), dicTimeParts("m"), dicTimeParts("s"))
End Function
Bookmarks