Cadenas de caracteres

Que tal experto tengo la siguiente duda : quiero hacer un macro en el cual escriba en mayúscula las letras vocales y en minúscula las consonantes ej carlos y que de cArlOs. Hice algo parecido con ayuda de un amigo en visual Basic pero me sirve para convertir en mayúscula la primer letra ejemplo juan Juan. Probé en Vba y no funca sera que algunas funciones no las tiene.
Igual Tengo algo en visual basic 6.0
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "ERROR", vbCritical, "ERROR AL ESCRIBIR"
Text1.SetFocus
Else
'Text1.Text = titulo(Text1.Text)
Text1.Text = Trim(LCase(Text1.Text)) & " "
LngSpace = InStr(Text1.Text, " ")
Do While LngSpace > 0
strTexto = strTexto & UCase(Mid(Text1.Text, 1, 1)) & Mid(Text1.Text, 2, LngSpace - 1)
Text1.Text = LTrim(Mid(Text1.Text, (LngSpace + 1)))
LngSpace = InStr(Text1.Text, " ")
Loop
titulo = strTexto
End If
End Sub

1 Respuesta

Respuesta
1
Usa esta función:
Function UCaseVowel(ByVal Texto As String) As String
Dim i As Integer
Dim strSalida, s As String
strSalida = ""
s = ""
For i = 1 To Len(Texto)
s = Mid$(Texto, i, 1)
If InStr("AEIOU", UCase(s)) Then strSalida = strSalida + UCase(s) Else strSalida = strSalida + LCase(s)
Next
UCaseVowel = strSalida
End Function
Disculpame experto no se como enchufar el código si utilizo la función upcasebowel, yo generalmente lo aplico en un formulario con textbox y commandbutton, escribo la palabra en el textbox1 y luego presiono el commandbutton para que procese. De esta forma no me mareo tanto con los códigos.
Ok. Crea un Form con 2 TextBoxes y 1 CommandButton.
1. Dentro del código del commandbutton haz:
2. TextBox2.Text= UCaseVowel(TextBox1.Text)
3. Introduce el texto original en TextBox1 y obtendrás el modificado en TextBox2.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas