Substring es una de las funciones más populares en cualquier lenguaje de programación. Facilita sus tareas mientras se trata de cadenas. Como el nombre sugiere una función de subcadena divide una cadena en diferentes partes basadas en criterios particulares.
Hay múltiples funciones de VBA Substring. En situaciones prácticas, estas funciones de subcadena pueden ser bastante útiles para extraer una parte de una cadena.
Hoy en este post voy a explicar todas las funciones de subcadena de VBA que puedes utilizar en las macros de Excel:
Table of Contents
Función LEFT Substring:
La función IZQUIERDA en Excel VBA se utiliza para obtener un número especificado de caracteres desde el inicio de la cadena. La sintaxis de la función LEFT es la siguiente:
Left (text_string, length)
- Aquí ‘text_string’ se refiere a una cadena de entrada que se va a separar.
- Y ‘length’ se refiere al número de caracteres que se van a extraer.
Ejemplos:
Izquierda ("Exceltrick", 5) 'da una salida "Excel"
Izquierda ("AlgúnTexto", 4) 'da el resultado "Algún"
Nota: En lugar de utilizar una cadena codificada en el primer argumento también puede obtener ‘texto_cadena’ de su hoja de Excel como ActiveSheet.Range(«A1»).
Función Substring derecha:
La función DERECHA en Excel VBA es justo lo contrario a la función IZQUIERDA. Devuelve un número especificado de caracteres desde el final de la cadena de texto. La sintaxis de la función DERECHA es la siguiente:
Derecha (cadena_de_texto, longitud)
- Aquí ‘cadena_de_texto’ se refiere a una cadena de entrada que se va a separar.
- Y ‘longitud’ se refiere al número de caracteres que se van a extraer pero la extracción empieza por la derecha.
Ejemplo:
Derecha ("Exceltrick", 5) 'da una salida "truco"
Derecha ("AlgúnTexto", 4) 'da el resultado "Texto"
Nota: En lugar de utilizar una cadena codificada en el primer argumento también puede obtener ‘cadena_de_texto’ de su hoja de Excel como ActiveSheet.Range(«A1»).
Función MID Substring:
MID es una función mucho mejor que las dos primeras, te da la posibilidad de especificar las posiciones de inicio y final de la cadena extraída. La sintaxis de la función MID VBA Substring es la siguiente:
Mid(cadena_de_texto, posición_de_inicio, Longitud)
- Aquí ‘cadena_de_texto’ se refiere a una cadena de entrada que debe ser separada.
- ‘start_position’ se refiere a la posición numérica desde la que se debe iniciar la extracción.
- Y ‘length’ se refiere al número de caracteres a extraer.
Ejemplo:
MID ("Exceltrick", 2,4) 'da una salida "celt"
MID ("SomeText", 4,4) 'da el resultado "Texto"
Nota: En lugar de utilizar una cadena de caracteres codificada en el primer argumento también puede obtener ‘text_string’ de su hoja de Excel como ActiveSheet.Range(«A1»).
Función SPLIT Substring:
La función SPLIT es otra función VBA que se puede utilizar para subcadenar o dividir una cadena. La función SPLIT puede ser muy útil cuando se divide una cadena de texto en más de una parte basándose en un delimitador. La sintaxis de la función split es la siguiente:
Split (cadena_de_texto, delimitador, límite, comparar)
- Aquí, ‘cadena_de_texto’ se refiere a una cadena de entrada que va a ser separada.
- ‘Delimitador’ se refiere al carácter delimitador que separa la cadena en partes. Este es un argumento opcional, si se deja en blanco entonces, se asume que el carácter espacio » » es el delimitador por defecto.
- ‘limit’ se refiere al número máximo de partes de subcadena en las que se debe dividir la cadena. También es un argumento opcional, el valor por defecto es (-1) lo que significa que la subcadena debe ocurrir en cada posición en la que se encuentre el delimitador.
- ‘compare’ es un valor numérico opcional que especifica la comparación a utilizar cuando se evalúan las subcadenas.
Ejemplo:
Por ejemplo, tienes una cadena de texto como «Esto es una cadena de texto» y ahora tienes que dividir esta cadena en palabras individuales, así que en este caso, usarás el espacio » » como delimitador. La función de división se utilizará como:
Split ("Esto es una cadena de texto", " ")
El resultado de esta función de división es una matriz de palabras: «Esto» «es» «una» «cadena de texto».
Lectura recomendada: Función de división de VBA
Ejemplo de macro de subcadena de VBA:
A continuación he creado una macro que ilustra todas las técnicas de subcadena disponibles en la programación VBA. Esta es una macro simple y autoexplicativa, en esta, simplemente he dividido una cadena de texto con los 4 métodos que he descrito anteriormente.
A continuación el código que he utilizado para esta macro:
Sub BreakStrings()
'Función izquierda
a = Izquierda("Texto truco Excel", 5)
'Función derecha
b = Derecha("Texto truco Excel", 11)
'Función media
c = Media("Texto truco Excel", 1, 11)
'Función Split
d = Split("Excel Trick Text", " ")
For Each wrd In d
strg = strg & wrd & ", "
Next
'Mostrar los resultados en un cuadro de mesage
MsgBox "Left: " & a & vbNewLine & "Right: " & b & vbNewLine & "Mid: " & c & vbNewLine & "Split: " & strg
End Sub
Así que esto fue todo sobre las funciones de subcadena de VBA. No comparta su punto de vista relacionado con el tema.