Dividir cadeias de texto por delimitador em várias linhas – Truques Rápidos 3
Normalmente, pode utilizar a funcionalidade Texto em Colunas para dividir o conteúdo de uma célula em várias colunas com base num determinado delimitador — como vírgula, ponto, ponto e vírgula, barra, entre outros. Contudo, por vezes, poderá precisar de dividir esse conteúdo delimitado em várias linhas, repetindo os dados das restantes colunas, tal como ilustrado na imagem seguinte. Conhece alguma boa solução para realizar esta tarefa no Excel? Este tutorial apresenta métodos eficazes para concluir este trabalho no Excel.

Método A: Dividir texto delimitado em várias linhas com código VBA
Nesta secção, apresento dois códigos VBA para dividir conteúdos de células separados por um determinado delimitador.
Divida o texto delimitado por vírgulas, espaços, pontos e vírgulas, entre outros separadores.
Para dividir cadeias de texto separadas por um delimitador comum — como vírgula, espaço, ponto e vírgula, barra, entre outros — o código seguinte pode ajudá-lo. Siga os passos abaixo:
Nota: Este código não suporta a função Desfazer; por isso, recomenda-se que faça uma cópia de segurança dos seus dados antes de o aplicar.
Passo 1: Abra o editor de módulos VBA e copie o código
1. Ative a folha que pretende utilizar e, em seguida, prima as teclas «Alt» + "F11" para abrir a janela do Microsoft Visual Basic for Applications.
2. Na janela aberta, clique em «Inserir» > «Módulo» para criar um novo módulo em branco.
3. Em seguida, copie e cole o código abaixo no módulo em branco.
Código VBA: Dividir texto por delimitador específico (vírgula, ponto, espaço, etc.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Passo 2: Execute o código para obter o resultado
1. Após colar o código, prima a tecla "F5" para executá-lo. Em seguida, surge uma caixa de diálogo solicitando que selecione as células contendo o texto delimitado que pretende dividir, conforme ilustrado:

2. De seguida, clique em «OK»; irá surgir outra caixa de diálogo a solicitar que introduza o separador com base no qual pretende dividir os dados. Aqui, introduzo uma vírgula seguida de um espaço (, ), conforme ilustrado:

3. Por fim, clique no botão «OK». Agora, verá que as cadeias de texto selecionadas foram divididas em linhas com base na vírgula, repetindo-se os dados das restantes colunas correspondentes, tal como ilustrado nas imagens seguintes:

Dividir texto separado por quebra de linha
Se o conteúdo das suas células estiver separado por quebras de linha, aqui está outro código VBA que o pode ajudar a dividi-lo em várias linhas.
Nota: Este código não suporta a função Desfazer; por isso, recomenda-se fazer uma cópia de segurança dos dados antes de o aplicar.
Passo 1: Abra o editor de módulos VBA e copie o código
1. Prima as teclas «Alt» + "F11" para abrir a janela do Microsoft Visual Basic for Applications.
2. Na janela aberta, clique em «Inserir» > «Módulo» para criar um novo módulo em branco.
3. Em seguida, copie e cole o código abaixo no módulo em branco.
Código VBA: Dividir texto por quebra de linha
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Passo 2: Execute o código para obter o resultado
1. Após colar o código, prima a tecla "F5" para o executar. Na caixa que aparece, selecione as células que pretende dividir, conforme ilustrado:

2. Em seguida, clique no botão «OK»; os dados das células selecionadas serão divididos em linhas, tal como ilustrado na imagem seguinte:

Método B: Divida texto delimitado em várias linhas em 10 segundos com Kutools para Excel
Se tiver o «Kutools para Excel» instalado, pode utilizar a funcionalidade «Dividir em várias linhas» para separar cadeias de texto em várias linhas com base em qualquer delimitador que indicar. Siga estes passos:
Passo 1: Selecione a funcionalidade Dividir em várias linhas
Clique em «Kutools» > «Mesclar e Dividir» > «Dividir em várias linhas», conforme ilustrado:

Passo 2: Especifique as células de dados e o delimitador para a divisão
Na caixa de diálogo que surge, utilize as seguintes opções:
- 1). Selecione a lista de células que pretende dividir na caixa de texto «Intervalo (uma única coluna)».
- 2). Em seguida, escolha o delimitador que separa os seus dados; aqui, selecione «Outro» e digite uma vírgula seguida de um espaço (, ) na caixa de texto.
- 3). Por fim, clique no botão «OK».

Agora, as células selecionadas com cadeias de texto delimitadas foram convertidas em várias linhas com base no separador especificado, conforme ilustrado:

Dica: Para restaurar os dados originais, basta premir Ctrl + Z e desfazer a alteração.
Fácil de usar? Interessado nesta funcionalidade? Então clique para transferir e experimentar gratuitamente durante 30 dias!
Método C: Dividir texto delimitado em várias linhas com Power Query
Se estiver a utilizar o Office 365 ou o Excel 2016 e versões posteriores, o Power Query é uma ferramenta poderosa que lhe permite dividir texto delimitado em várias linhas ou colunas — ideal se pretender que os seus dados divididos sejam atualizados automaticamente sempre que os dados originais forem alterados. Siga os passos seguintes para concluir esta operação:
Passo 1: Importe a tabela de dados para o Power Query
1. Selecione o intervalo de dados que pretende utilizar e, em seguida, clique em «Dados» > «A partir de Tabela», conforme ilustrado:
Dica: No Excel 2019 e no Office 365, clique em Dados > A partir de Tabela/Intervalo.

2. Na caixa de diálogo «Criar Tabela» que surge, clique no botão «OK» para criar a tabela, conforme ilustrado:

3. Agora, a janela «Editor do Power Query» é apresentada com os dados, conforme ilustrado:

Passo 2: Realize as transformações no Power Query
1. Selecione a coluna que deseja dividir e, em seguida, clique em «Base» > «Dividir Coluna» > «Por Delimitador», conforme ilustrado:

2. Na caixa de diálogo «Dividir Coluna por Delimitador»:
Para dividir cadeias de texto por vírgula, espaço, ponto e vírgula, etc., proceda da seguinte forma:
- 1). Escolha, na lista pendente «Selecionar ou introduzir delimitador», o delimitador pelo qual os seus dados estão separados;
- 2). Selecione «Cada ocorrência do delimitador» na secção «Dividir em».
- 3). Em seguida, clique em «Opções avançadas» para expandir a secção e selecione «Linhas» em «Dividir em».
- 4). Por fim, clique em «OK» para fechar esta caixa de diálogo.

Para dividir cadeias de texto em várias linhas por quebra de linha, proceda da seguinte forma:
- 1). Escolha «Personalizado» na lista pendente «Selecionar ou introduzir delimitador»;
- 2). Na lista pendente «Inserir caracteres especiais», clique em «Quebra de linha» e os caracteres «#(lf)» serão inseridos automaticamente na caixa de texto sob «Personalizado»;
- 3). Selecione «Cada ocorrência do delimitador» na secção «Dividir em».
- 4). Em seguida, clique em «Opções avançadas» para expandir a secção e selecione «Linhas» em «Dividir em».
- 5). Por fim, clique em «OK» para fechar esta caixa de diálogo.

3. Agora, o Selecionar Dados foi dividido em várias linhas, tal como ilustrado na imagem seguinte:

Passo 3: Exporte o Power Query para uma tabela do Excel
1. Em seguida, exporte os dados para a sua folha de cálculo: clique em **Base** > **Fechar e Carregar** > **Fechar e Carregar / Fechar e Carregar Para** (neste caso, selecione **Fechar e Carregar**), conforme ilustrado.

Dica: ao clicar em **Fechar e Carregar**, os dados são exportados para uma nova planilha; ao selecionar **Fechar e Carregar Para**, pode escolher qualquer outra folha de destino.
2. Finalmente, os dados serão carregados numa nova planilha, conforme ilustrado:

Dica: Se precisar de atualizar frequentemente os dados na tabela original, não se preocupe — basta clicar com o botão direito do rato na tabela de resultados e selecionar “Atualizar” para obter dinamicamente os resultados mais recentes.
Artigos Relacionados:
- Dividir valores de células em várias colunas
- No Excel, quando pretende dividir uma lista de valores de células em várias colunas utilizando determinados delimitadores, como vírgula, espaço, ponto, quebra de linha, etc., normalmente a funcionalidade incorporada «Texto para Colunas» pode ajudá-lo a concluir esta tarefa passo a passo. Neste artigo, irei apresentar-lhe alguns bons truques para dividir facilmente e rapidamente os valores das células em múltiplas colunas ou linhas.
- Dividir uma célula em múltiplas linhas ou colunas
- Imagine que tem uma única célula com vários conteúdos separados por um caractere específico — por exemplo, ponto e vírgula — e pretende dividi-la em múltiplas linhas ou colunas com base nesse separador. Nesse caso, conhece alguma forma rápida de fazer isso no Excel?
- Dividir cadeia de texto por maiúsculas/minúsculas
- No Excel, normalmente dividimos texto com base numa largura específica ou num delimitador, utilizando a função **Texto para Colunas**. Mas já experimentou dividir texto com base em maiúsculas e minúsculas? Por exemplo, imagine que tem uma lista de dados e precisa separá-los em duas colunas com base na capitalização: uma coluna com texto **em minúsculas** e outra com texto **em maiúsculas**, tal como ilustrado na imagem seguinte. A função **Texto para Colunas** não suporta esta operação — mas posso mostrar-lhe um truque prático para dividir rapidamente uma cadeia de texto por maiúsculas e minúsculas no Excel.
- Dividir número em dígitos individuais
- Imagine que precisa separar ou dividir um número nos seus dígitos individuais, tal como mostrado na imagem seguinte. O que pode fazer para obter este resultado? Este artigo apresenta-lhe dois métodos.
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os extras do Kutools. Um único instalador.
Kutools for Office é uma suite que inclui complementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro — a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— extras para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (compatível com MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe em comparação com a compra individual dos extras
Índice
- Vídeo: Dividir cadeias de texto por delimitador
- Método A: Com código VBA
- Texto separado por vírgula, espaço, ponto e vírgula, entre outros.
- Texto separado por quebra de linha
- Método B: Em 10 segundos com Kutools para Excel
- Método C: Com Power Query
- Artigos Relacionados
- As Melhores Ferramentas de Produtividade para o Office
- Comentários