Private Function esseparador(ByVal c As String) As Boolean
Const Separadores As String = " ,.;:(){}[]'¡!?¿-_" & vbCrLf
If InStr(1, Separadores, c, vbBinaryCompare) = 0 Then
esseparador = False
Else
esseparador = True
End If
End Function
Private Function giracad(ByVal palabra As String) As String
giracad = ""
Dim n As Integer
For n = Len(palabra) To 1 Step -1
giracad = Mid$(palabra, n, 1) + giracad
Next
End Function
Private Function girapala(ByVal cad As String) As String
Dim n As Integer
girapala = ""
Dim s As String
Dim palabra As String
Dim c As String
For n = Len(cad) To 1 Step -1
c = Mid$(cad, n, 1)
If esseparador(c) Then
palabra = palabra + c
Else
giracad (palabra)
s = s + palabra
s = s + c
palabra = ""
End If
Next
giracad (palabra)
s = s + palabra
girapala = s
End Function
Private Sub Command1_Click()
Text1.Text = girapala(Text2.Text)
End Sub