Cadenas de texto en VBA

Cadenas de texto en VBA

Existen varias funciones en VBA que podemos utilizar para manipular cadenas de texto. A continuación revisaremos algunas de estas funciones VBA y observaremos el resultados de cada una de ellas.

Para iniciar con esta revisión, debes colocar un botón de comando dentro de una hoja de Excel y después hacer doble clic sobre él para introducir el código.

Botón de comando - Controles ActiveX

Unir cadenas de texto

Para unir dos (o más) cadenas de texto podemos utilizar el operador &. Observa el siguiente código:

Cadenas de texto en VBA - Join

El resultado de este código es el siguiente:

Unir cadenas de texto en VBA con el operador &

La función Left

La función Left en VBA nos ayuda a extraer un número determinado de caracteres a la izquierda de la cadena de texto.

Cadenas de texto en VBA - Left

En el código he especificado los 7 caracteres a la izquierda de la cadena de texto. El resultado es el siguiente:

Extraer caracteres de izquierda de una cadena en VBA

La función Right

La función Right nos permite extraer caracteres a la derecha de una cadena de texto. Observa el siguiente código:

Cadenas de texto en VBA - Right

En esta función la cuenta de caracteres se hace de derecha a izquierda siendo el último carácter de la cadena de texto el primero que extraerá la función Right. Para este ejemplo he pedido los últimos 5 caracteres a la derecha de la cadena de texto:

Extraer caracteres de la derecha de una cadena en VBA

La función Len

La función Len nos ayuda a conocer la longitud de una cadena de texto, es decir, la cantidad de caracteres que conforman a una cadena.

Cadenas de texto en VBA - Len

La función Len contará cada uno de los caracteres de la cadena y regresará un número:

Calcular la longitud de una cadena en VBA

La función InStr

La función InStr devuelve la posición de un carácter dentro de la cadena. Supongamos que quiero encontrar la posición de la letra “M” dentro de la cadena que contiene el valor “Hola Mundo”.

Cadenas de texto en VBA - InStr

Es importante resaltar que la función InStr es sensible a mayúsculas y minúsculas. Observa cómo he especificado buscar la letra “M” (mayúscula) y el resultado de la función es el siguiente:

Obtener la posición de un caracter dentro de una cadena en VBA

La función InStr encontró la letra “M” en la posición número 6 comenzando desde la izquierda. Si en lugar de la letra “M” busco la letra “m” (minúscula), la función InStr devolverá el valor 0 (cero) indicando que no ha encontrado dicha letra.

Además de indicar letras individuales en la función InStr, también podemos especificar palabras completas por ejemplo:

cadena = "Hola Mundo"
InStr (cadena, "Mundo")

Por ejemplo, al buscar la palabra “Mundo” dentro de la cadena de texto obtendremos como resultado la posición número 6 ya que en esa posición comienza la palabra “Mundo”.

La función Mid

Con la función Mid podemos extraer una subcadena de otra cadena de texto con tan solo especificar la posición inicial de la subcadena y su longitud. Observa el siguiente ejemplo:

Cadenas de texto en VBA - Mid

La función Mid se moverá a la posición 15 de la cadena y a partir de ahí contará 7 caracteres y devolverá como resultado la cadena comprendida entre ambas posiciones. En nuestro ejemplo, la palabra “funcion” es la que se encuentra entre dichas posiciones.

Extraer una subcadena de texto en VBA

Las funciones de texto en VBA nos ayudarán a manipular adecuadamente las cadenas de texto y podremos obtener los resultados que necesitamos.