Táboa de contidos
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.