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.

Cadenas de texto en VBA

Unir cadenas de texto

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

Concatenar cadenas de texto en VBA

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.

Función Left para cadenas de texto en VBA

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:

Función Right para cadenas de texto en VBA

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.

Función Len para cadenas de texto en VBA

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”.

Función InStr para cadenas de texto en VBA

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:

Función Mid para cadenas de texto en VBA

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.

Artículos relacionados
Funciones VBA

Moisés Ortiz

Autor: Moisés Ortiz

Moisés es consultor en tecnologías de la información con especialidad en herramientas de inteligencia de negocios y análisis de datos. Tiene más de 25 años de experiencia en el uso de Excel y es una de sus herramientas predilectas para la creación de reportes. Ver más ➤