Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Len Right Left Mid StrReverse Replace

.

Al trabajar con texto o string en muchas oportunidades se necesita saber como determinar el largo de un texto, extraer cierta parte de una cadena, encontrar un carácter en una cadena, etc., en definitiva trabajar con funciones que nos permitan manejar texto; en este post te voy a mostrar como se utilizan códigos como Len, Right, Left, StrReverse, InStr, Replace, Mid; en macro extrae cadena de texto o string verás otro ejemplo de como usar estos comandos y en funciones de VBA encontrarás estas y el resto de funciones de VBA.

En como determinar el nombre de un archivo, encontrarás una aplicación práctica a lo aquí expuesto, en dicho ejemplo se tiene un nombre de un archivo cualquiera por ejemplo «libro1.xlsm», a través de las funciones acá explicadas para trabajar con texto, se extrae el nombre del libro sin la extensión «.xlsm», obteniendo «libro1» como resultado.

Te recomiendo que leas un excelente libro sobre Excel el que te ayudará operar las planillas de cálculo, haz click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

Para automatizar tu libro de Excel seguramente es necesario saber seleccionar o referenciar celdas, en FORMAS DE SELECCIONAR O REFERENCIAR CELDAS CON VBA (Spanish Edition) encontrarás una gran ayuda; si trabajas con fechas en Excel, fíjate en el siguiente link que te puede ser de utilidad FORMATOS Y FUNCIONES DE FECHA Y HORA DE MICROSOFT EXCEL (Spanish Edition)
 
Siguiendo con el tema del post, si se requieres saber cual es el largo de una cadena de texto se debe usar el comando «Len«, en la variable cad se agrega el texto de la fila 2 columna 2; luego se agrega en la variable lar1 el largo de la variable que es establecido por el comando Len; vamos a suponer que en la celda B2 se encuentra el texto «Tomy Dayra Col», siendo el largo 14 caracteres incluyendo espacios.

lar1 = Len(cad)

cad = Cells(2, 2)

Con la función»Right» se extrae un número específico de caracteres desde la derecha de una cadena de texto, en el ejemplo se extraen tres caracteres desde la derecha, el resultado es «Col»

cad1= Right (cad,3)

Con la función»Left» se extrae un número específico de caracteres desde la izquierda de una cadena de texto, en el ejemplo se extraen tres caracteres desde la izquierda, el resultado es «Tom»

cad1= Left(cad,3)

Con «Mid» se extrae un número específico de caracteres de una cadena de texto desde una posición determinada, en el ejemplo se extraen desde la posición 5 seis caracteres, la cadena extraída es «Dayra».

cad2 = Mid(cad, 5, 6)

El comando o función InStr, determina la posición de una cadena de caracteres dentro de otra; la función que sigue determina donde se encuentra el espacio dentro de la cadena, determinando el número 5, ya que ahí se encuentra el espacio buscado.

esp1=InStr(cad,» «)

El comando «StrReverse», permite dar vuelta una cadena de texto, el resultado será  «loC aryaD ymoT».

esp1=StrReverse(cad, » «)
cad2 = StrReverse(cad)

Si lo que se necesita es reemplazar una cadena de texto se debe usar la función Replace, en este caso se usa para reemplazar una cadena de caracteres por otra, en el ejemplo se reemplaza dentro de la cadena de texto seleccionada la palabra»Dayra» por un espacio, en este caso el resultado sería «TomyCol».

cad2= Replace(cad1, «Dayra», «»)

Se pueden combinar todas las funciones mostradas anteriormente y de esta manera extraer caracteres o buscar los mismos de formas variadas, en el ejemplo que sigue, se usa la función Mid y InStr para determinar como extraer la letra de la última columna con datos. Primero se determina la dirección de la última columna con datos en forma absoluta de la fila uno, supongamos que es la columna H, el valor de la variable «uc» será, «$H$1»; la variable «wc» será el resultado de extraer con la función Mid la letra de la columna, para ello se hecha mano a InStr que determina donde se encuentra el símbolo «$» para luego determinar la letra de la columna, en el ejemplo se ve claramente como se pueden combinar las funciones que se presentaron anteriormente.

uc = Sheets(«Hoja1»).Cells(1, Columns.Count).End(xlToLeft).Address
wc = Mid(uc, InStr(uc, «$») + 1, InStr(2, uc, «$») – 2)

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends