Skip to main content

Dividir Cadeias de Texto por Delimitador em Múltiplas Linhas - 3 Truques Rápidos

Author: Xiaoyang Last Modified: 2025-06-04

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.

split text into multiple rows

Vídeo: Dividir cadeias de texto por delimitador em múltiplas linhas

 


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:

vba code to select the cells contain the delimited text

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:

vba code to typ a separator split the data based on

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:

the selected text strings are split into rows

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:

vba code to selec the range to split

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:

the data in the selected cells are split into rows

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:

Kutools para Excel oferece mais de 300 recursos avançados para simplificar tarefas complexas, aumentando a criatividade e a eficiência. Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados fácil e eficiente. Mais informações sobre o Kutools para Excel...  Teste gratuito...

Passo 1: Selecione o recurso Dividir Dados em Linhas

Clique em "Kutools" > "Mesclar & Dividir" > "Dividir Dados em Linhas", veja a captura de tela:

Click Kutools > Merge & Split > Split Data to Rows

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".
Specify the data cells and delimiter for splitting in the dialog box

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:

the selected cells are converted into multiple rows

 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.

click Data > From Table

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

click OK button to create a table

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

the Power Query Editor window is displayed with the data

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:

click Home > Split Column > By Delimiter

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.
specify the options in the dialog box to split the text by comma, space, semicolon, etc

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.
specify the options in the dialog box to split the text by line break

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

the selected data has been split into multiple rows

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:

click Home > Close & Load to load the data

 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:

the data is loaded to a new worksheet

 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ê.