Создайте модуль и поместите (Copy and Paste) туда следующую процедуру:
Public Function CharsBetweenColons(SourceStr As String) As String
Dim strRetValue As String
If InStr(SourceStr, ":") = 0 Then ' If no colon found, return the whole damn source with a colon inserted (4th position from the string end)
strRetValue = Left$(SourceStr, Len(SourceStr) - 4) & ":" & Mid$(SourceStr, Len(SourceStr) - 3)
Else ' The rest of the parsing process
If InStr(InStr(SourceStr, ":") + 1, SourceStr, ":") = 0 Then ' Apparently, the second ":" is missing
strRetValue = Mid$(SourceStr, InStr(SourceStr, ":") + 1) ' But we already know there's at least one present
Else ' All is left now is to return the chars in between the two colons
strRetValue = Mid$(SourceStr, InStr(SourceStr, ":") + 1, InStr(InStr(SourceStr, ":") + 1, SourceStr, ":") - InStr(SourceStr, ":") - 1)
End If
End If
CharsBetweenColons = strRetValue
End Function
Далее передаете ей какое-нибудь строковое значение и получаете в ответку строку, удовлетворяющую всем условиям задачи.
Примечание: Тестировать времени нет, если будут мелкие нюансы, дерзайте самостоятельно и не дерзите.
ЗЫ: Форматирование здесь, конечно - мама, роди меня обратно. Куда код прислать?