O que é a função de divisão do VBA no Excel?
A função de divisão no VBA é uma função de string muito útil que é usada para dividir strings em várias substrings com base em um delimitador fornecido para a função e um método de comparação. Existem outras funções de string que convertem uma string em substring, mas a função de divisão pode dividir um string em mais de uma substrings.
Na planilha normal, a função ESQUERDA, as funções MID e DIREITA no Excel são usadas como funções de texto no Excel para extrair a parte da frase. Por exemplo, a extração de nome, nome do meio e sobrenome são os cenários comuns que vimos. Mas no VBA temos a função mais versátil, chamada SPLIT, que fará um trabalho semelhante para você. SPLIT é uma função incorporada no Excel VBA que pode dividir a frase fornecida com base no delimitador. Por exemplo, se você deseja dividir o endereço de e-mail em partes diferentes, o elemento comum no endereço de e-mail é “@” em todos os ids de e-mail, então “@” se torna o delimitador aqui.

Função Split String VBA
Como todas as outras funções, a divisão também tem sua própria sintaxe. Abaixo estão os parâmetros da função de string do Excel VBA Split.

- Valor ou expressão: nada mais é que o valor real que estamos tentando dividir. Por exemplo, se você deseja dividir o nome e o sobrenome, o nome completo é o valor aqui.
- (Delimitador): Qual é o elemento comum para dividir o Valor ou Expressão? No ID de email, “@” é o elemento comum, no endereço, a vírgula (,) é o elemento comum. Se você ignorar isso, ele considera o caractere de espaço como o valor padrão.
- (Limite): Quantas substrings você deseja do valor ou expressão que forneceu. Por exemplo, se o valor for “Meu nome é Excel”, se você fornecer 3 como o limite, ele mostrará o resultado em três linhas como “Meu”, “nome”, “é Excel”.
- (Compare): Como não usamos o argumento compare, ignore este argumento opcional.
Nas próximas seções do artigo, veremos como usar a função SPLIT no Excel VBA de forma prática.
Exemplos de função de string de divisão do VBA
Abaixo estão os exemplos práticos da Função Dividir no Excel VBA.
Exemplo # 1 - Divida a frase
Split retorna o resultado na matriz que começará em 0. Todas as matrizes são iniciadas em 0 e não em 1.
Suponha que você tenha a palavra “Meu nome é Excel VBA” na célula A1.

Agora você deseja dividir esta frase em partes como “Meu”, “Nome”, “é”, “Excel”, “VBA”. Usando a função Excel VBA SPLIT String, podemos retornar este resultado.
Etapa 1: inicie a macro com o nome.

Código:
Sub Split_Example1 () End Sub Etapa 2: Declare três variáveis.

Código:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String End Sub
Passo 3: Agora para a variável definida, My Text atribui a palavra “My Name is Excel VBA” .

Código:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Meu nome é Excel VBA" End Sub
Etapa 4: Agora, para a variável My Result, aplique a função de divisão de string VBA.

Código:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Meu nome é Excel VBA" MyResult = Split (End Sub
Etapa 5: Expressão é nosso valor de texto. Uma vez que já atribuímos nosso valor de texto à variável Meu Texto, insira este argumento aqui.

Código:
Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Meu nome é Excel VBA" MeuResultado = Split (MeuTexto) End Sub
Nota: Agora ignore todos os outros parâmetros.
Etapa 6: Agora, meu resultado contém esse resultado dividido. Como eu disse antes no post, a função de divisão armazena o resultado como uma matriz, então aqui
- Meu resultado (0) = “Meu”
- Meu resultado (1) = “Nome”
- Meu resultado (2) = “é”
- Meu resultado (3) = “Excel”
- Meu resultado (4) = “VBA”
Mesmo que este código não tenha nenhum impacto para iniciar a função SPLIT, podemos usar este código.
Exemplo 2 - String VBA SPLIT com função UBOUND
Para armazenar o resultado da função SPLIT, podemos usar a função vba UBOUND junto com a função SPLIT.
UBOUND retornará o comprimento máximo da matriz. No exemplo acima, o comprimento máximo da matriz era 5.
Tome a mesma palavra “Meu nome é Excel VBA”. Vamos dividir essa palavra e armazenar da célula A1 em diante.
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
Este foi um guia para a função de divisão do VBA. Aqui, aprendemos como usar a função VBA Split String no Excel, juntamente com alguns exemplos práticos e um modelo do Excel para download. Abaixo estão alguns artigos úteis do Excel relacionados ao VBA -
- Como habilitar RegEx no VBA?
- Função StrComp no Excel VBA
- Objeto VBA WorkBook
- Função VBA Sleep no Excel
- Crie uma tabela dinâmica no Excel VBA
- Do Até Loop no VBA
- Selecionar célula em VBA
- Função de planilha em VBA
- Subscrito fora do intervalo