Tutoriales en Excel | Excel Negocios | Aplicaciones en Excel
Tutoriales en Excel | Excel Negocios | Aplicaciones en Excel

Funciones de texto en Excel VBA

El uso de las funciones de texto en Excel VBA es de suma utilidad para trabajar apropiadamente cadenas de texto.

En Excel VBA existen diferentes funciones de texto, entre ellas las más útiles son las siguientes:

Unir cadenas de texto &

Para poder unir dos o más cadenas de texto desde VBA usaremos al operador &

Sub Unir_texto()
    MsgBox "Cadena 1 " & "Cadena 2 " & "Cadena 3"
End Sub
Unir texto desde VBA

Función Left – Izquierda

Esta función nos ayudará a extraer una cantidad de caracteres a la izquierda de una cadena total

Se define como LEFT(<CADENA DE TEXTO TOTAL>, <CANTIDAD DE CARACTERES A EXTRAER>)

Recordemos que las funciones devuelven un valor, el cual se debe asignar a la propiedad de un objeto o a una variable

Sub ExtraerIzquierda()
    MsgBox Left("Hola mundo", 3)
End Sub
Función Left excel vba

Función Right – Derecha

Esta función nos ayudará a extraer una cantidad de caracteres a la derecha de una cadena total

Se define como RIGHT(<CADENA DE TEXTO TOTAL>, <CANTIDAD DE CARACTERES A EXTRAER>)

Sub ExtraerDerecha()
    MsgBox Right("Hola mundo", 3)
End Sub
Funcion right derecha

Función MID – Extrae cadena de texto dentro de una cadena de texto

Esta función nos ayudará a extraer una cadena de texto hijo de una cadena de texto total

Se define como MID(<CADENA DE TEXTO TOTAL>, <POSICIÓN INICIAL DE LA SUBCADENA>, <LONGITUD DE LA SUBCADENA>)

Para entender mejor el funcionamiento, veamos los siguientes ejemplos:

  • MID («Luis Rojas», 2, 3) – Devuelve «uis»
  • MID («Jesús Pravia», 7, 3) – Devuelve «Pra»
  • MID («Giancarlo Ramos», 1, 6) – Devuelve «Gianca»
Función MID VBA

Función InStr – posición de una subcadena en una cadena

Esta función nos devolverá un valor numérico, que será la posición de una subcadena o caracter en una cadena de texto, la búsqueda la hará de izquierda a derecha

Se define como INSTR(<CADENA DE TEXTO TOTAL>, <SUBCADENA DE TEXTO O CARACTER>)

Para entender mejor el funcionamiento, veamos los siguientes ejemplos:

  • INSTR («Mi computador», «c») – Devuelve el valor 4
  • INSTR («Mi Brother Gustavo», «i») – Devuelve el valor 2
  • INSTR («Luis Rojas», «s») – Devuelve el valor 4
  • INSTR («La ladera de Jhon ladera», «ladera») – Devuelve el valor 4

Vemos que en el último ejemplo existen dos S, y el valor devuelto es el primer encuentro, realizando una búsqueda de izquierda a derecha

Función InStrRev- posición de una subcadena en una cadena

Esta función nos devolverá un valor numérico, que será la posición de una subcadena o caracter en una cadena de texto, la búsqueda la hará de derecha a izquierda

El uso más frecuente de esta función es cuando existen subcadenas duplicadas en una cadena principal

Se define como INSTRREV(<CADENA DE TEXTO TOTAL>, <SUBCADENA DE TEXTO O CARACTER>)

Para entender mejor el funcionamiento, veamos los siguientes ejemplos:

  • INSTRREV («Mi computador», «o») – Devuelve el valor 12
  • INSTRREV («Mi Brother Gustavo», «t») – Devuelve el valor 15
  • INSTRREV («Luis Rojas», «s») – Devuelve el valor 10
  • INSTRREV («La ladera de Jhon ladera», «ladera») – Devuelve el valor 19

Debemos considerar que tanto INSTR como INSTRREV, son estrictas con el uso de mayúsculas y minúsculas

INSTRREV en VBA funciones de texto

Función Len – longitud de una cadena de texto

Esta función nos devolverá un valor numérico entero, que será igual a la cantidad de caracteres de una cadena de texto

Se define como LEN(<CADENA DE TEXTO TOTAL>)

Sub LongitudCadena()
    MsgBox Len("Hola mundo")
End Sub
Función LEN VBA

Función Ucase – Mayúsculas

Esta función nos devolverá una cadena de texto en mayúsculas, es muy utilizada para validar texto con menor uso de condicionales

Se define como UCASE(<CADENA DE TEXTO TOTAL>)

Sub CadenaMayusculas()
    MsgBox UCase("Hola mundo")
End Sub
Función UCASE cadena VBA

Función Lcase – Minúsculas

Esta función nos devolverá una cadena de texto en minúsculas, también es muy utilizada para validar texto con menor uso de condicionales

Se define como LCASE(<CADENA DE TEXTO TOTAL>)

Sub CadenaMinusculas()
    MsgBox LCase("Hola mundo")
End Sub
Función lcase a minusculas vba

Función nombre propio – Primera letra en mayúsculas y las demás en minúsculas

Si bien no existe una función de este tipo en VBA, lo existe en la aplicación de Excel, por ende la podemos utilizar de la siguiente forma

Sub NombrePropio()
    MsgBox Application.WorksheetFunction.Proper("hola MUNDO")
End Sub
Función nombre propio vba

Recuerda que también podemos crear nuestra propia función a medida, hace un tiempo hablé sobre este tema en la siguiente publicación

Si deseas ver un listado más completo de todas las funciones de texto presentes en VBA, te recomiendo visitar la página de Microsoft

Cualquier duda o consulta la puedes dejar en los comentarios o enviarme un mensaje a luisrojas@tutorialesexcel.com

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *