=TND(text,value,[serial])
Function TND(txt As String, v As String, Optional s As Integer = 1) As Variant
Dim i%, j%, b$, t$, n, d()
i = 0 / (Left(v, 1) Like "[TtNnDd]" And s > 0): ReDim Preserve d(0): n = ""
For i = 1 To Len(txt) + 1
Select Case True
Case Mid(txt, i, 1) Like "#": d(j) = d(j) & Mid(txt, i, 1)
Case Mid(txt, i, 2) Like "[" & Mid(v, 2) & "]#" And Mid(txt, i + (i > 1), 2) Like "#[" & Mid(v, 2) & "]": d(j) = d(j) & "/": b = b & Mid(txt, i, 1)
Case IsDate(d(j)): d(j) = DateValue(d(j)): t = t & Mid(txt, i, 1): b = "": ReDim Preserve d(j + 1): j = j + 1
Case d(j) <> "": n = Val(n & Replace(d(j), "/", "")): t = t & b & Mid(txt, i, 1): d(j) = "": b = "": Case Else: t = t & Mid(txt, i, 1)
End Select
Next i
d(j) = "": TND = Array(t, n, d(Application.Min(s - 1, j)))(InStr(1, "TND", Left(v, 1), 1) - 1)
End Function