Cómo dividir una cadena en una matriz en VBA (3 maneras)

  • Compartir Este
Hugh West

En este artículo, te mostraré cómo puedes dividir una cadena en una matriz en VBA . Dividir es una de las funciones más importantes y utilizadas que empleamos en VBA Aprenderás a dividir una cadena en VBA de todas las formas posibles.

Función de división de VBA (Vista rápida)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

Descargar el cuaderno de prácticas

Dividir una cadena en una matriz.xlsm

3 maneras de dividir una cadena en una matriz en VBA

Tengamos una cuerda en la mano "Solicitamos el visado de Estados Unidos, Canadá, Australia y Francia". .

Te mostraré cómo puedes dividir esta cadena en una matriz de todas las formas posibles utilizando la función Función de división de VBA .

1. Utilice cualquier delimitador para dividir una cadena en una matriz en VBA

Puede utilizar cualquier cadena como delimitador para dividir una cadena en una matriz en VBA .

Puede ser un espacio (" ") , a coma (",") , a punto y coma (":") un único carácter, una cadena de caracteres o cualquier cosa.

Ejemplo 1:

Vamos a dividir la cadena utilizando la función coma como delimitador.

La línea de código será:

Arr = Split(Texto, ",")

El completo Código VBA será:

Código VBA:

 Sub Split_String() Text = "Solicitamos el visado de EE.UU., Canadá, Australia y Francia" Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Salida:

Dividirá la cadena en una matriz formada por {"Solicitamos el visado de EE.UU.", " Canadá", " Australia", " Francia"}.

Ejemplo 2:

También puede utilizar un espacio (" ") como delimitador.

La línea de código será:

Arr = Split(Texto, " ")

El completo Código VBA será:

Código VBA:

 Sub Split_String() Text = "Solicitamos el visado de EE.UU., Canadá, Australia y Francia" Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Salida:

Dividirá la cadena en una matriz formada por {"Nosotros", "solicitamos", "para", "el", "visado", "de", "EE.UU.,", "Canadá,", "Australia,", "Francia,"}.

Cosas para recordar:

  • El delimitador por defecto es espacio (" ") .
  • Es decir, si no insertas ningún delimitador, utilizará un espacio como delimitador.

Más información: Dividir cadena por carácter en Excel (6 formas adecuadas)

Lecturas similares:

  • Dividir texto en varias celdas en Excel
  • VBA para obtener valores únicos de columna en matriz en Excel (3 Criterios)
  • Excel VBA: Cómo Filtrar con Múltiples Criterios en una Matriz (7 Maneras)

2. Dividir una cadena en una matriz con cualquier número de elementos

Puede dividir una cadena en una matriz con el número de elementos que desee.

Introduzca el número de elementos como Tercero argumento del Función de división .

Por ejemplo:

Dividamos la cadena en la primera 3 artículos con un espacio como delimitador.

La línea de código será:

Arr = Split(Texto, " ", 3)

Y el Código VBA será:

Código VBA:

 Sub Split_String() Text = "Solicitamos el visado de EE.UU., Canadá, Australia y Francia" Arr = Split(Text, " ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Salida:

Dividirá la cadena en una matriz formada por el primer 3 elementos separados por el delimitador espacio .

Cosas para recordar:

  • El argumento por defecto es -1 .
  • Es decir, si no introduces el argumento, dividirá la cadena en el máximo número de veces posible.

Más información: Cómo dividir una cadena por su longitud en Excel (8 maneras)

3. Utilizar Delimitadores Sensibles a Mayúsculas y Minúsculas para Dividir una Cadena en una Matriz en VBA

En Función de división le ofrece utilizar tanto un distingue entre mayúsculas y minúsculas y distingue entre mayúsculas y minúsculas delimitador.

Para un distingue entre mayúsculas y minúsculas introduzca el delimitador argumento como 1.

Y por un distingue entre mayúsculas y minúsculas introduzca el delimitador argumento como 0 .

Ejemplo 1: Delimitador sensible a mayúsculas y minúsculas

En la cadena dada, consideremos el texto "PARA" como delimitador y 2 como el número total de elementos de la matriz.

Ahora, para un distingue entre mayúsculas y minúsculas caso, la línea de código será:

Arr = Split(Texto, "PARA ", 3,1)

Y el completo Código VBA será:

Código VBA:

 Sub Split_String() Text = "Solicitamos el visado de EE.UU., Canadá, Australia y Francia" Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Salida:

Como el delimitador es distingue entre mayúsculas y minúsculas aquí, el "PARA" funcionará como "para" y dividirá la cadena en una matriz de dos elementos.

Ejemplo 2: Delimitador sensible a mayúsculas y minúsculas

De nuevo, para un distingue entre mayúsculas y minúsculas caso, la línea de código será:

Arr = Split(Texto, "PARA ", 3,0)

Y el completo Código VBA será:

Código VBA:

 Sub Split_String() Text = "Solicitamos el visado de EE.UU., Canadá, Australia y Francia" Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub 

Salida:

Como el delimitador es distingue entre mayúsculas y minúsculas aquí, el "PARA" no como "para" y no dividirá la cadena en una matriz de dos elementos.

Más información: Excel VBA: Eliminar Duplicados de una Matriz (2 Ejemplos)

Cosas para recordar:

  • El valor por defecto del argumento es 0 .
  • Es decir, si no pones el valor del funcionará para un distingue entre mayúsculas y minúsculas partido.

Conclusión

Por lo tanto, utilizando estos métodos, puede utilizar el Función de división de VBA para dividir una cadena en una matriz de elementos. ¿Tienes alguna duda? No dudes en preguntarnos.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.