Como dividir unha cadea nunha matriz en VBA (3 xeitos)

  • Comparte Isto
Hugh West

Neste artigo mostrarei como podes dividir unha cadea nunha matriz en VBA . Dividir é unha das funcións máis importantes e amplamente utilizadas que usamos en VBA . Aprenderás a dividir unha cadea en VBA de todas as formas posibles.

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

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

Descargar libro de prácticas

Dividir unha cadea nunha matriz.xlsm

3 xeitos de dividir unha cadea nunha matriz en VBA

Teñamos unha cadea na nosa man "Solicitamos a visa de Estados Unidos, Canadá, Australia e Francia .” .

Vouche mostrar como podes dividir esta cadea nunha matriz de todas as formas posibles usando a función Dividir de VBA .

1. Usar calquera delimitador para dividir unha cadea nunha matriz en VBA

Podes usar calquera cadea como delimitador para dividir unha cadea nunha matriz en VBA .

Pode ser un espazo (“ “) , unha coma (“,”) , un punto e coma (“:”) , un só carácter, un cadea de caracteres ou calquera cousa.

Exemplo 1:

Dividamos a cadea usando a coma como delimitador.

A liña de código será:

Arr = Split(Text, ",")

O Código VBA completo será:

Código VBA:

3139

Saída:

Dividirá a cadea nunha matriz formada por {"Solicitamos a visa de Estados Unidos", "Canadá", "Australia", "Francia”}.

Exemplo 2:

Tamén podes usar un espazo (“ ”) como delimitador.

A liña de código será:

Arr = Split(Text, " ")

O Código VBA completo será:

Código VBA:

4088

Saída:

Dividirá a cadea nunha matriz formada por {“Nós”, “aplicado”, “para”, “o”, “visado”, “de”, “Estados Unidos”, “Canadá”, “Australia”, “Francia”}.

Cousas para lembrar:

  • O delimitador predeterminado é un espazo (“ ”) .
  • É dicir, se non inseris ningún delimitador, utilizará un espazo como delimitador.

Ler máis: Dividir cadea por carácter en Excel (6 xeitos axeitados)

Lecturas similares:

  • Dividir texto en múltiples celdas en Excel
  • VBA para obter valores únicos da columna á matriz en Excel (3 criterios)
  • Excel VBA: como filtrar con varios Criterios en matriz (7 xeitos)

2. Dividir unha cadea nunha matriz con calquera número de elementos

Podes dividir unha cadea nunha matriz con calquera número de elementos segundo o teu desexo.

Insire o número de elementos como o 3er argumento da Función de división .

Exemplo:

Imos dividir a cadea nos primeiros 3 elementos cun espazo como delimitador.

A liña de códigoser:

Arr = Split(Text, " ", 3)

E o código VBA será:

Código VBA:

7237

Saída:

Dividirá a cadea nun matriz formada polos primeiros 3 elementos separados polo delimitador espazo .

Cousas para lembrar:

  • O argumento predeterminado é -1 .
  • Isto significa que se non introduce o argumento, dividirase a cadea no número máximo de veces posible.

Ler máis: Como dividir a cadea por lonxitude en Excel (8 xeitos)

3. Use o delimitador que distingue entre maiúsculas e minúsculas para dividir unha cadea nunha matriz en VBA

A función Dividir ofrécelle usar a que distingue entre maiúsculas e minúsculas e Delimitador insensible entre maiúsculas e minúsculas .

Para un delimitador insensible en maiúsculas e minúsculas , insira o 4.º argumento como 1.

E para un delimitador insensible en maiúsculas e minúsculas , insira o argumento 4.º como 0 .

Exemplo 1: Delimitador que non distingue entre maiúsculas e minúsculas

Na cadea dada, consideremos o texto “FOR” como delimitador e 2 como o número total de elementos da matriz.

Agora, para un caso insensitivo entre maiúsculas e minúsculas , a liña de código será:

Arr = Split(Text, "FOR ", 3,1)

E o código VBA completo será:

Código VBA:

2951

Saída:

Como o delimitador é insensible entre maiúsculas e minúsculas aquí, o “PAR " funcionará como “para” e dividirá a cadea nunha matriz de dous elementos.

Exemplo 2: Delimitador que distingue entre maiúsculas e minúsculas

De novo, para un caso distintivo entre maiúsculas e minúsculas , a liña de código será:

Arr = Split(Text, "FOR ", 3,0)

E o código VBA completo será:

Código VBA:

9562

Saída:

Como o delimitador é diferente entre maiúsculas e minúsculas aquí, o “ FOR” non será como “for” e non dividirá a cadea nunha matriz de dous elementos.

Ler máis: Excel VBA: eliminar duplicados dunha matriz (2 exemplos)

Cousas para lembrar:

  • O valor predeterminado do argumento é 0 .
  • É dicir, se non pon o valor do argumento 4o , funcionará para unha coincidencia distintiva entre maiúsculas e minúsculas .

Conclusión

Polo tanto, usando estes métodos, pode usar o Función de división de VBA para dividir unha cadea nunha matriz de elementos. Tes algunha dúbida? Non dubides en preguntarnos.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.