Dividir Cadeias de Texto por Delimitador em Múltiplas Linhas - 3 Truques Rápidos
Normalmente, você pode usar o recurso Texto para Colunas para dividir o conteúdo da célula em várias colunas usando um delimitador específico, como vírgula, ponto, ponto e vírgula, barra, etc. No entanto, às vezes, pode ser necessário dividir os conteúdos das células delimitadas em várias linhas e repetir os dados de outras colunas, conforme mostrado na captura de tela abaixo. Você tem boas maneiras de lidar com essa tarefa no Excel? Este tutorial apresentará alguns métodos eficazes para realizar essa tarefa no Excel.

Método A: Dividir texto delimitado em múltiplas linhas usando código VBA
Nesta seção, vou apresentar dois códigos VBA para ajudar a dividir o conteúdo da célula que está separado por um determinado delimitador.
Dividir texto separado por vírgula, espaço, ponto e vírgula, etc.
Para dividir as cadeias de texto que são separadas por algum delimitador normal, como vírgula, espaço, ponto e vírgula, barra, etc., o seguinte código pode ajudá-lo. Por favor, siga os passos abaixo:
Observação: Este código não suporta Desfazer, é melhor fazer backup dos dados antes de aplicar este código.
Passo 1: Abra o editor de módulo VBA e copie o código
1. Ative a planilha que deseja usar. Em seguida, pressione as teclas "Alt" + "F11" para abrir a janela "Microsoft Visual Basic for Applications".
2. Na janela aberta, clique em "Inserir" > "Módulo" para criar um novo módulo em branco.
3. Depois, 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, pressione a tecla "F5" para executar este código. Em seguida, uma caixa de aviso será exibida para lembrá-lo de selecionar as células que contêm o texto delimitado que deseja dividir, veja a captura de tela:

2. Depois, clique em "OK", outra caixa de aviso aparecerá para lembrá-lo de digitar o separador pelo qual deseja dividir os dados. Aqui, eu digito uma vírgula e um espaço (, ), veja a captura de tela:

3. Por fim, clique no botão "OK". Agora, você verá as cadeias de texto selecionadas divididas em linhas com base na vírgula e os dados das colunas relacionadas serão repetidos conforme mostrado nas capturas de tela abaixo:

Dividir texto separado por quebra de linha
Se o conteúdo das suas células estiver separado por quebras de linha, para dividi-los em várias linhas, aqui está outro código VBA que pode ajudá-lo.
Observação: Este código não suporta Desfazer, é melhor fazer backup dos dados antes de aplicar este código.
Passo 1: Abra o editor de módulo VBA e copie o código
1. Pressione as teclas "Alt" + "F11" para abrir a janela "Microsoft Visual Basic for Applications".
2. Na janela aberta, clique em "Inserir" > "Módulo" para criar um novo módulo em branco.
3. Depois, 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, pressione a tecla "F5" para executar este código. Na caixa que aparece, selecione as células que deseja dividir, veja a captura de tela:

2. Depois, clique no botão "OK", os dados nas células selecionadas são divididos em linhas conforme mostrado na captura de tela abaixo:

Método B: 10s para dividir texto delimitado em múltiplas linhas com Kutools para Excel
Se você instalou o "Kutools para Excel", com seu recurso "Dividir Dados em Linhas", você pode dividir as cadeias de texto em várias linhas por qualquer delimitador especificado. Por favor, siga os passos abaixo:
Passo 1: Selecione o recurso Dividir Dados em Linhas
Clique em "Kutools" > "Mesclar & Dividir" > "Dividir Dados em Linhas", veja a captura de tela:

Passo 2: Especifique as células de dados e o delimitador para divisão
Na caixa de diálogo que aparece, use as seguintes opções:
- 1). Selecione a lista de células que deseja dividir na caixa de texto "Intervalo (uma única coluna)";
- 2). Depois, escolha o delimitador que separa seus dados, aqui, vou escolher "Outro" e digitar uma vírgula e 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 específico, veja a captura de tela:

Dicas: Se você quiser restaurar os dados originais, basta pressionar Ctrl + Z para desfazer.
Fácil de usar? Interessado neste recurso? Por favor, clique para baixar e obter uma avaliação gratuita por 30 dias.
Método C: Dividir texto delimitado em múltiplas linhas com Power Query
Se você estiver usando Office 365 ou Excel 2016 e versões posteriores, o "Power Query" é uma ferramenta poderosa que pode ajudá-lo a dividir texto delimitado em várias linhas ou colunas. É útil se você deseja que os dados divididos sejam atualizados quando seus dados originais mudarem. Por favor, siga os passos abaixo para concluí-la:
Passo 1: Obtenha a tabela de dados no Power Query
1. Selecione o intervalo de dados que deseja usar, depois clique em "Dados" > "De Tabela", veja a captura de tela:
Dicas: No Excel 2019 e Office 365, clique em Dados > De Tabela/Intervalo.

2. Na caixa de diálogo "Criar Tabela" que aparece, clique no botão "OK" para criar uma tabela, veja a captura de tela:

3. Agora, a janela "Editor do Power Query" é exibida com os dados, veja a captura de tela:

Passo 2: Faça as transformações no Power Query
1. Selecione a coluna que deseja dividir. Depois, clique em "Página Inicial" > "Dividir Coluna" > "Por Delimitador", veja a captura de tela:

2. Na caixa de diálogo "Dividir Coluna por Delimitador":
Para dividir as cadeias de texto por vírgula, espaço, ponto e vírgula, etc., faça o seguinte:
- 1). Escolha o delimitador pelo qual seus dados estão separados na lista suspensa "Selecionar ou inserir delimitador";
- 2). Selecione "Cada ocorrência do delimitador" na seção "Dividir em";
- 3). Depois, clique em "Opções Avançadas" para expandir a seçã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, faça o seguinte:
- 1). Escolha "Personalizado" na lista suspensa "Selecionar ou inserir delimitador";
- 2). No menu suspenso "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 seção "Dividir em";
- 4). Depois, clique em "Opções Avançadas" para expandir a seção e selecione "Linhas" em "Dividir em";
- 5). Por fim, clique em "OK" para fechar esta caixa de diálogo.

3. Agora, os dados selecionados foram divididos em várias linhas conforme mostrado na captura de tela abaixo:

Passo 3: Saída do Power Query para uma tabela do Excel
1. E então, você deve enviar os dados para sua planilha. Por favor, clique em "Página Inicial" > "Fechar & Carregar" > "Fechar & Carregar / Fechar & Carregar Para", (aqui, clicarei em "Fechar & Carregar"), veja a captura de tela:

Dicas: Clicar em Fechar & Carregar enviará os dados para uma nova planilha; Clicando em Fechar & Carregar Para, os dados serão enviados para qualquer outra planilha que você precisar.
2. Finalmente, os dados serão carregados em uma nova planilha, veja a captura de tela:

Dicas: Se você precisar atualizar seus dados na tabela original com frequência, não se preocupe, basta clicar com o botão direito na tabela de resultados e clicar em "Atualizar" para obter o novo resultado dinamicamente.
Artigos Relacionados:
- Dividir valores de células em várias colunas
- No Excel, quando você deseja dividir uma lista de valores de células em várias colunas por determinados delimitadores, como vírgula, espaço, ponto, nova linha, etc., normalmente, o recurso incorporado Texto para Colunas pode ajudá-lo a concluir essa tarefa passo a passo. Neste artigo, falarei sobre alguns truques úteis para dividir os valores das células em várias colunas ou linhas facilmente e rapidamente.
- Dividir uma célula em várias linhas ou colunas
- Suponha que você tenha uma única célula que contenha vários conteúdos separados por um caractere específico, por exemplo, ponto e vírgula, e então você deseja dividir essa célula longa em várias linhas ou colunas com base no ponto e vírgula, nesse caso, você tem alguma maneira rápida de resolver isso no Excel?
- Dividir cadeia de texto por maiúsculas/minúsculas
- No Excel, geralmente dividimos textos por largura fixa ou delimitador com a função Texto para Colunas, mas você já tentou dividir texto por maiúsculas e minúsculas? Por exemplo, você tem uma lista de dados e precisa dividi-los em duas colunas com base no caso: uma coluna contém string minúscula, e a outra contém string maiúscula, conforme mostrado na captura de tela abaixo. A função Texto para Colunas não suporta essa operação, no entanto, posso introduzir um truque para dividir rapidamente cadeias de texto por maiúsculas/minúsculas no Excel.
- Dividir número em dígitos individuais
- Supondo que você precise dividir ou separar números em dígitos individuais, conforme mostrado na captura de tela abaixo, o que você pode fazer para alcançar isso? Este artigo fornecerá dois métodos para você.
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!
Índice
- Vídeo: Dividir cadeias de texto por delimitador
- Método A: Usando código VBA
- Texto separado por vírgula, espaço, ponto e vírgula, etc.
- Texto separado por Quebra de linha
- Método B: 10s com Kutools para Excel
- Método C: Usando Power Query
- Artigos Relacionados
- As Melhores Ferramentas de Produtividade para o Office
- Comentários