VBA SubString - ¿Cómo extraer subcadenas usando funciones de VBA?

Tabla de contenido

Subcadena de Excel VBA

SubString es una parte de la cadena o parte o el carácter de la cadena se llama "SubString". Hay tres tipos de función de subcadena en VBA LEFT, RIGHT y MID son similares a las subcadenas de la hoja de trabajo en Excel.

Una cadena no es más que una serie de caracteres, y los caracteres pueden ser alfabetos, números, caracteres especiales y también combinar todos estos.

A menudo, en Excel, cuando trabajamos con datos, que es la cadena, necesitamos obtener solo la parte de la cadena para facilitar nuestro propósito. Es posible que no necesitemos usar la cadena completa, pero solo necesitamos una parte de la cadena para nuestro uso. Por ejemplo, si tiene el nombre "Sachin Tendulkar", es posible que solo necesite la primera parte del nombre, es decir, solo "Sachin". Esto se denomina SubString de la cadena en Excel VBA. Para manejar estas cadenas, tenemos funciones integradas bajo la función TEXTO en la categoría de Excel.

En este artículo, discutiremos cómo obtener la subcadena de la cadena completa en VBA.

¿Cómo utilizar las funciones de subcadena en VBA?

Para extraer la subcadena de la cadena, tenemos algunas de las funciones de texto integradas, y algunas de las funciones importantes son LEFT, RIGHT, INSTR y MID en Excel. La función Instr servirá como función de apoyo para las otras tres funciones.

Veremos cómo utilizar estas funciones para extraer las subcadenas de forma práctica. Lea los siguientes ejemplos para comprenderlos.

Ejemplo n. ° 1: uso de la función izquierda

Si tiene el nombre completo como “Sachin Tendulkar” y solo necesita extraer el primer nombre como subcadena, use el siguiente código para obtener el mismo.

Paso 1: cree un nombre de macro y defina dos variables como String.

Código:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String End Sub

Paso 2: Ahora asigne el nombre “Sachin Tendulkar” a la variable FullName .

Código:

Sub SubString_Example1 () Dim FullName como cadena Dim FirstName como cadena FullName = "Sachin Tendulkar" End Sub

Paso 3: ahora, la variable FullName tiene el valor de "Sachin Tendulkar". Ahora necesitamos extraer la subcadena de Excel VBA del nombre del nombre completo. Entonces, asigne el valor para la variable Nombre a través de la función IZQUIERDA.

Código:

Sub SubString_Example1 () Dim FullName como cadena Dim FirstName como cadena FullName = "Sachin Tendulkar" FirstName = Left (End Sub

Paso 4: El primer argumento de la función VBA LEFT es String; eso es lo que es el valor completo o la cadena completa. En este ejemplo, nuestro valor completo o cadena es "Sachin Tendulkar", que se asigna a la variable FullName.

Así que proporcione la variable FullName como argumento.

Código:

Sub SubString_Example1 () Dim FullName como cadena Dim FirstName como cadena FullName = "Sachin Tendulkar" FirstName = Extremo izquierdo Sub

Paso 5: El siguiente argumento es cuántos caracteres necesitamos de la cadena que hemos proporcionado, por lo que en este caso, necesitamos el nombre " Sachin ", así que necesitamos 6 caracteres del lado izquierdo.

Código:

Sub SubString_Example1 () Dim FullName como cadena Dim FirstName como cadena FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub

Paso 6: Ahora muestre el resultado en un cuadro de mensaje en VBA.

Código:

Sub SubString_Example1 () Dim FullName como cadena Dim FirstName como cadena FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) MsgBox FirstName End Sub

Paso 7: Ejecute la macro, vea el nombre como una subcadena en el cuadro de mensaje.

Ejemplo n. ° 2: obtener subcadena de la derecha

Como hemos extraído la subcadena de la izquierda de manera similar, también podemos extraer de la derecha. Tome el mismo nombre como ejemplo.

Paso 1: Defina dos variables como Cadena.

Código:

Sub SubString_Example2 () Dim FullName como cadena Dim LastName como cadena End Sub

Paso 2: como de costumbre, asigne el valor a la variable FullName como "Sachin Tendulkar".

Código:

Sub SubString_Example2 () Dim FullName como cadena Dim LastName como cadena FullName = "Sachin Tendulkar" End Sub

Paso 3: Ahora, para la variable Apellido, asigne el valor a través de la función de Excel DERECHA.

Código:

Sub SubString_Example2 () Dim FullName como cadena Dim LastName como cadena FullName = "Sachin Tendulkar" LastName = Right (End Sub

Paso 4: String es nuestro FullName, así que proporcione la variable.

Código:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, End Sub

Paso 5: La longitud es la cantidad de caracteres que necesitamos del lado derecho. Necesitamos 9 caracteres en el lado derecho.

Código:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Derecha (FullName, 9) Fin Sub

Paso 6: muestra este valor en el cuadro de mensaje .

Código:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Derecha (FullName, 9) MsgBox LastName End Sub

Paso 7: ejecuta la macro. Veremos el apellido en el cuadro de mensaje.

Ejemplo n. ° 3: uso de la función Instr

En los ejemplos anteriores, solo teníamos un nombre y proporcionamos directamente cuántos caracteres necesitamos de izquierda a derecha. Pero en el caso de muchos nombres, los caracteres del nombre y apellido no son los mismos, diferirán de un nombre a otro. En esos casos, no podemos proporcionar el número de caracteres directamente, por lo que podemos usar la función Instr.

La función Instr devolverá la posición del carácter proporcionado en la cadena. Por ejemplo, mire el siguiente código.

Código:

Sub SubString_Example3 () Atenuar posición como cadena Posición = InStr (1, "Sachin", "a") MsgBox Posición Fin Sub

InStr (1, "Sachin", "a"), esto identificará la posición de la letra "a" como la primera aparición en la cadena "Sachin". En este caso, la letra "a" está en la segunda posición. Entonces obtendremos 2 como resultado en el cuadro de mensaje.

Así, podemos usar la función Instr para encontrar el carácter de espacio entre el nombre y el apellido.

Por ejemplo, mire el nombre a continuación que tengo en la hoja de Excel.

Usando las funciones LEFT, RIGHT e Instr , podemos extraer las subcadenas. A continuación se muestra el código para extraer el nombre.

Código:

Sub FirstName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1) .End (xIUp) .Row For K = 2 To LR Cells (K, 2) .Value = Left (Cells (K, 1) .Value, InStr (1, Cells (K, 1) .Value, "") - 1) Siguiente K End Sub

Ejecute la macro y vea el nombre como una subcadena en el cuadro de mensaje.

Utilice el siguiente código para extraer el apellido como una subcadena.

Código:

Sub LastName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1) .End (xIUp) .Row For K = 2 To LR Cells (K, 3) .Value = Right (Cells (K, 1) .Value, Len (Cells (K, 1)) - InStr (1, Cells (K, 1) .Value, "")) Siguiente K End Sub

Ejecute la macro y veremos el apellido en el cuadro de mensaje.

He asignado el botón de macro a la hoja de trabajo, descargué el libro de trabajo y lo utilicé.

Articulos interesantes...