Subcadena VBA
Subcadena VBA es un tipo de función muy útil en VBA que se utiliza para cortar un dato en forma de cadena. Pero en las funciones de la hoja de cálculo, tenemos tres funciones de subcadena que son la función izquierda-derecha y la función media, mientras que en VBA tenemos las funciones izquierda-derecha media y de división como funciones de subcadena. Como su nombre indica, la función de subcadena en VBA divide una cadena en múltiples subcadenas. También como se explicó anteriormente en VBA hay múltiples funciones de subcadena VBA. En este artículo, aprenderemos a utilizar estas funciones de subcadena por separado con ejemplos. Antes de seguir adelante con los ejemplos primero vamos a aprender la sintaxis de estas funciones y qué argumento estas funciones toman como entrada.
Sintaxis de Excel VBA SubString
Los siguientes son los diferentes sintaxis:
Mira nuestros cursos y videos de demostración
Valoración, Hadoop, Excel, Aplicaciones Móviles, Desarrollo Web & muchos más.
Sintaxis de la función Left SubString:
Cadena de texto es la cadena que proporcionamos como entrada mientras que la longitud es el número de caracteres que queremos de la cadena de entrada.
Ejemplo: Si tenemos una cadena como ANAND y queremos AN como subcadena el código será
Izquierda («ANAND»,2)
Sintaxis de la función subcadena derecha:
Cadena de texto es la cadena que proporcionamos como entrada mientras que la longitud es el número de caracteres que queremos de la cadena de entrada.
Ejemplo: Si tenemos una cadena como ANAND y usamos el mismo código anterior el resultado será
Derecha («ANAND»,2)
Esto da como resultado ND.
Sintaxis de la función Mid SubString en VBA:
Cadena de texto es la cadena que proporcionamos como entrada y Posición de inicio es la posición en la que queremos que comience el carácter para su extracción mientras que la longitud es el número de caracteres que queremos de la cadena de entrada.
Ejemplo: Tenemos una cadena como COMPUTER y queremos PUT como la subcadena entonces el código será el siguiente:
MID («COMPUTER»,4,3)
Sintaxis de la función Split SubString:
- Expression As String: Este es un argumento obligatorio en la función SPLIT. Es básicamente la cadena de entrada que proporcionamos.
- Delimitador: Este es un argumento opcional. Es el delimitador específico que divide la cadena, pero por defecto, el espacio se considera como delimitador por defecto.
- Límite: Este es también un argumento opcional. Límite significa el número máximo de partes que queremos hacer de una cadena. Pero de nuevo, si no proporcionamos un límite a la función, VBA lo trata por defecto como -1. Esto concluye que la cadena se romperá cada vez que haya un delimitador en la cadena.
- Comparar: Este argumento final es también un argumento opcional. Compare es un método de comparación que es uno de los dos siguientes:
- O bien es 0, lo que significa que SPLIT realizará una comparación binaria, lo que significa que cada carácter debe coincidir con sí mismo.
- O puede ser 1, lo que significa que la función SPLIT hará una comparación textual.
La función Split es la más complicada y útil entre todas las funciones de subcadena anteriores. Todas las otras tres funciones de subcadena utilizan una cadena como entrada mientras que la función Split utiliza un array de cadenas.
Por ejemplo, si escribo Split(«SOY UN BUEN CHICO») dividirá la cadena por separado (cada palabra por separado). Ahora vamos a utilizar estas funciones de subcadenas en los ejemplos.
¿Cómo utilizar las funciones de subcadenas en VBA?
Aprenderemos a utilizar la función Subcadena en Excel utilizando el Código VBA.
Ejemplo #1
Función Subcadena izquierda en VBA. Vamos a utilizar la primera función de subcadena en VBA. Para ello, siga los siguientes pasos:
Paso 1: Vaya a la pestaña de desarrollador y haga clic en Visual Basic para abrir el Editor de VB.
Paso 2: Inserte un nuevo módulo dentro del Editor de Visual Basic (VBE). Haga clic en la pestaña Insertar > seleccione Módulo.
Paso 3: Declare una subfunción para empezar a escribir el código.
Código:
Sub Sample()End Sub
Paso 4: Declarar dos cadenas una para tomar la entrada del usuario y otra para almacenar el valor del resultado.
Código:
Sub Sample()Dim A, B As StringEnd Sub
Paso 5: Tomar la entrada del usuario para la cadena de entrada utilizando la función de caja de entrada.
Código:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Paso 6: En la variable B almacenar el valor de la función de la izquierda hasta el tercer lugar.
Código:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub
Paso 7: Usar la función Msgbox para mostrar el resultado final.
Código:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub
Paso 8: Ahora ejecuta el código anterior pulsando la tecla F5. y Escribe la cadena de entrada como ANAND.
Paso 9: Cuando pulsamos OK vemos el resultado de la función de subcadena izquierda.
ANA son los tres caracteres de la izquierda de la cadena.
Ejemplo #2
Función de subcadena derecha en VBA. Para ello, siga los siguientes pasos:
Paso 1: En el mismo módulo declare otra subfunción para empezar a escribir el código de la función subcadena derecha.
Código:
Sub Rightsub()End Sub
Paso 2: Declare dos variables A y B como cadena.
Código:
Sub Rightsub()Dim A, B As StringEnd Sub
Paso 3: Tomar la entrada del usuario y almacenar el valor en la variable A.
Código:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Paso 4: Usar la función Right en la cadena hasta el tercer lugar y almacenar el valor en la variable B.
Código:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub
Paso 5: Utiliza la función Msgbox para mostrar el valor de B.
Código:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub
Paso 6: Ejecuta el código e introduce la cadena de entrada como «MADRE».
Paso 7: Pulse OK para ver el resultado.
HER son los tres caracteres de la derecha de la cadena.
Ejemplo #3
Función de subcadena media en VBA. Para ello, siga los siguientes pasos:
Paso 1: En el mismo módulo declare otra subfunción para empezar a escribir el código de la función Mid.
Código:
Sub MIDsub()End Sub
Paso 2: Declare dos variables A y B como String.
Código:
Sub MIDsub()Dim A, B As StringEnd Sub
Paso 3: Tomar la entrada del usuario y almacenar el valor en la variable A.
Código:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Paso 4: Usar la función Mid con posición inicial como 4 y longitud como 3 almacena el valor en B y lo muestra usando la función Msgbox.
Código:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub
Paso 5: Ejecuta el código anterior y da COMPUTER como entrada.
Paso 6: Pulsa OK para ver el resultado final.
La subcadena PUT comienza en la 4ª posición y hemos extraído con éxito tres caracteres.
Ejemplo #4
Función Split SubString de VBA. Para ello, siga los siguientes pasos:
Paso 1: En el mismo módulo declarar una subfunción para empezar a escribir el código para la subfunción.
Código:
Sub SplitSub()End Sub
Paso 2: Declarar dos Variables A como cadena y B como matriz de cadenas y tomar la cadena de entrada del usuario y almacenarla en la Variable A.
Código:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub
Paso 3: Usar la función Split SubString y almacenar su valor en la Variable B.
Código:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub
Paso 4: Utilizar el bucle For para mostrar cada SubString en una sola línea.
Código:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub
Paso 5: Ejecute el código anterior y dé como entrada I,AM,GOOD,BOY.
Paso 6: Pulse OK para ver el resultado.
Hemos utilizado «,» como delimitador en el ejemplo anterior.
Conclusión
Al igual que las funciones de subcadena de las hojas de cálculo, VBA también tiene funciones de subcadena. Son las funciones Left Right Mid y Split. Básicamente, las funciones de subcadena dividen una cadena o una matriz de cadenas en múltiples subcadenas. Si queremos una subcadena desde la izquierda de la cadena usamos la función Izquierda o derecha en el caso contrario. Si queremos un carácter central de una cadena determinada, utilizamos la función MID. También si tenemos una matriz de cadenas usamos las funciones de división.
Cosas a recordar
Hay algunas cosas que debemos recordar sobre las funciones de subcadena en VBA:
- Es similar a las funciones de subcadena de la hoja de cálculo.
- Las funciones de subcadena dividen una cadena dada en subcadenas.
- Si tenemos una matriz de cadenas utilizamos las funciones de división.
- Sólo la cadena de entrada en la función de división es obligatoria mientras que las otras son opcionales.
Artículos recomendados
Esta es una guía de la Subcadena de VBA. Aquí discutimos cómo utilizar la función SubString en Excel VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede ir a través de nuestros otros artículos sugeridos –
- VBA SendKeys
- VBA On Error Goto
- VBA Input
- VBA LBound