Función de división de VBA (ejemplos) - ¿Cómo dividir cadenas en Excel VBA?

¿Qué es la función de división VBA en Excel?

La función de división en VBA es una función de cadena muy útil que se usa para dividir cadenas en múltiples subcadenas en función de un delimitador proporcionado a la función y un método de comparación, también hay otras funciones de cadena que convierten una cadena en subcadena, pero la función dividida puede dividir una cadena en más de una subcadena.

En la función IZQUIERDA de la hoja de trabajo normal, las funciones MID y DERECHA en Excel se utilizan como funciones de texto en Excel para extraer la parte de la oración. Por ejemplo, la extracción del nombre, segundo nombre y apellido son los escenarios comunes que hemos visto. Pero en VBA tenemos la función más versátil llamada SPLIT que hará un trabajo similar para usted. SPLIT es una función incorporada en Excel VBA que puede dividir la oración proporcionada según el delimitador. Por ejemplo, si desea dividir la dirección de correo electrónico en diferentes partes, el elemento común en la dirección de correo electrónico es "@" en todos los ID de correo electrónico, por lo que "@" se convierte aquí en delimitador.

Función de cadena dividida de VBA

Como todas las demás funciones, split también tiene su propia sintaxis. A continuación se muestran los parámetros de la función de cadena dividida de Excel VBA.

  • Valor o expresión: no es más que el valor real que intentamos dividir. Por ejemplo, si desea dividir el nombre y el apellido, el nombre completo es el valor aquí.
  • (Delimitador): ¿Cuál es el elemento común para dividir el valor o la expresión? En el correo electrónico, "@" es el elemento común, en la dirección, la coma (,) es el elemento común. Si ignora esto, considera el carácter de espacio como el valor predeterminado.
  • (Límite): cuántas subcadenas desea del valor o expresión que ha proporcionado. Por ejemplo, si el valor es "Mi nombre es Excel", si proporciona 3 como límite, mostrará el resultado en tres líneas como "Mi", "nombre", "es Excel".
  • (Comparar): dado que no usamos el argumento de comparación, omita este argumento opcional.

En las siguientes secciones del artículo, veremos cómo usar la función SPLIT en excel VBA de manera práctica.

Ejemplos de función de cadena dividida de VBA

A continuación se muestran los ejemplos prácticos de la función de división en Excel VBA.

Ejemplo n. ° 1: dividir la oración

Split devuelve el resultado en la matriz que comenzará desde 0. Todas las matrices comienzan desde 0, no desde 1.

Suponga que tiene la palabra "Mi nombre es Excel VBA" en la celda A1.

Ahora desea dividir esta oración en partes como "Mi", "Nombre", "es", "Excel", "VBA". Usando la función Excel VBA SPLIT String podemos devolver este resultado.

Paso 1: Inicie la macro con el nombre.

Código:

Sub Split_Example1 () End Sub Paso 2: Declare tres variables.

Código:

Sub Split_Example1 () Dim MyText como cadena Dim i como entero Dim MyResult () como final de cadena Sub

Paso 3: Ahora para la variable definida, Mi texto asigna la palabra "Mi nombre es Excel VBA" .

Código:

Sub Split_Example1 () Dim MyText como cadena Dim i como entero Dim MyResult () como cadena MyText = "Mi nombre es Excel VBA" End Sub

Paso 4: Ahora, para la variable Mi resultado, aplique la función de cadena dividida de VBA.

Código:

Sub Split_Example1 () Dim MyText como cadena Dim i As Integer Dim MyResult () As String MyText = "Mi nombre es Excel VBA" MyResult = Split (End Sub

Paso 5: La expresión es nuestro valor de texto. Como ya hemos asignado nuestro valor de texto a la variable Mi texto, ingrese este argumento aquí.

Código:

Sub Split_Example1 () Dim MyText como cadena Dim i como entero Dim MyResult () como cadena MyText = "Mi nombre es Excel VBA" MyResult = Split (MyText) End Sub

Nota: Igual que ahora, ignore todos los demás parámetros.

Paso 6: Así que ahora Mi resultado contiene este resultado dividido. Como dije anteriormente en la publicación, la función de división almacena el resultado como una matriz, así que aquí

  • Mi resultado (0) = "Mi"
  • Mi resultado (1) = "Nombre"
  • Mi resultado (2) = "es"
  • Mi resultado (3) = "Excel"
  • Mi resultado (4) = "VBA"

Aunque este código no tiene ningún impacto para iniciar la función SPLIT, podemos usar este código.

Ejemplo n. ° 2 - Cadena VBA SPLIT con función UBOUND

Para almacenar el resultado de la función SPLIT, podemos usar la función vba UBOUND junto con la función SPLIT.

UBOUND devolverá la longitud máxima de la matriz. En el ejemplo anterior, la longitud máxima de la matriz era 5.

Tome la misma palabra "Mi nombre es Excel VBA". Dividamos esta palabra y almacenemos desde la celda A1 en adelante.

Step 1: Let’s continue from where we left off in the previous example.

Step 2: Now apply FOR NEXT LOOP in VBA from 0 to maximum length of the array i.e. UBOUND.

The reason we started from zero because SPLIT will store the result from zero, not from 1.

Step 3: Now apply VBA CELLS property and store the result.

Code:

Cells(i + 1, 1).Value = MyResult(i)

Step 4: Run this code, we would have split values.

Complete Code:

Sub Split_Example1() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) For i = 0 To UBound(MyResult) Cells(i + 1, 1).Value = MyResult(i) Next i End Sub

Return Word Count

We can also show the total number of words in the supplied value. Use the below code to show the total number of word counts. Code:

Sub Split_Example2() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) i = UBound(MyResult()) + 1 MsgBox "Total Words Count is " & i End Sub

Copy and paste the above VBA code and run it, the message box will return the result.

Things to Remember

  • If the delimiter is not supplied SPLIT automatically thinks the delimiter as space.
  • If you want to split except space then you need to specify the delimiter in double-quotes.
  • SPLIT stores the result as array results.
  • UBOUND function returns the maximum length of the array.

Recommended Articles

Esta ha sido una guía para la función de división de VBA. Aquí aprendimos cómo usar la función de cadena dividida de VBA en Excel junto con algunos ejemplos prácticos y una plantilla de Excel descargable. A continuación se muestran algunos artículos útiles de Excel relacionados con VBA:

  • ¿Cómo habilitar la expresión regular en VBA?
  • Función StrComp en Excel VBA
  • Objeto de libro de trabajo de VBA
  • Función de suspensión de VBA en Excel
  • Cree una tabla dinámica en Excel VBA
  • Hacer hasta bucle en VBA
  • Seleccionar celda en VBA
  • Función de hoja de trabajo en VBA
  • Subíndice fuera de rango

Articulos interesantes...