Hi,

Modified code, already tested with Vb6
All required steps have been included


Version to be tested in Excel
Code:
Sub Gian()
   sn = [B3:B12]
   For J = 1 To UBound(sn)
     sn(J, 1) = Replace(Replace(StrConv(Replace(Replace(sn(J, 1), ".", ". "), "/", "/ "), 3), ". ", "."), "/ ", "/")
     If sn(J, 1) Like "*[0-9]*" Then
        For Each V In Split(sn(J, 1), " ")
          If V Like "*[0-9]*" Then sn(J, 1) = Replace(sn(J, 1), V, UCase(V))
        Next
     End If
     For Each it In Split("di da con per mm in a e la le")
       If InStr(1, sn(J, 1) & " ", " " & it & " ", 1) Then sn(J, 1) = Replace(Replace(sn(J, 1), UCase(it), it), StrConv(it, 3), it)
     Next
   Next
   [K3:K12] = sn
End Sub