Ir para o conteúdo principal

Dividir strings de texto por delimitador em várias linhas - 3 truques rápidos

Normalmente, você pode usar o recurso Texto para coluna para dividir o conteúdo da célula em várias colunas por um delimitador específico, como vírgula, ponto, ponto e vírgula, barra etc. Mas, às vezes, pode ser necessário dividir o conteúdo da célula delimitada em várias linhas e repita os dados de outras colunas conforme a captura de tela mostrada abaixo. Você tem alguma boa maneira de lidar com essa tarefa no Excel? Este tutorial apresentará alguns métodos eficazes para concluir este trabalho no Excel.


Vídeo: Dividir strings de texto por delimitador em várias linhas


Método A: dividir o texto delimitado em várias linhas pelo código VBA

Nesta seção, apresentarei dois códigos VBA para ajudar a dividir o conteúdo da célula que é separado por um determinado delimitador.

Divida o texto separado por vírgula, espaço, ponto e vírgula, etc.

Para dividir as strings de texto que são separadas por algum delimitador normal, como vírgula, espaço, ponto e vírgula, barra, etc., o código a seguir pode fazer um favor. Por favor, siga os passos abaixo:

 Note: Este código não ajuda desfazer, é melhor fazer backup dos dados antes de aplicar este código.

Passo 1: Abra o editor do módulo VBA e copie o código

1. Ative a planilha que deseja utilizar. E então, pressione Alt + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Na janela aberta, clique em inserção > 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: Divida o 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. Depois de colar o código, pressione F5 chave para executar este código. Em seguida, uma caixa de prompt aparecerá para lembrá-lo de selecionar as células que contêm o texto delimitado que você deseja dividir, veja a captura de tela:

2. Em seguida, clique OK, outra caixa de prompt é exibida para lembrá-lo de digitar o separador no qual deseja dividir os dados com base. Aqui, digito uma vírgula e um espaço (, ), veja a captura de tela:

3. Por fim, clique OK botão. Agora, você verá que as sequências de texto selecionadas são divididas em linhas com base na vírgula e outros dados de colunas relativas são repetidos conforme as capturas de tela abaixo:


Dividir texto separado por quebra de linha

Se o conteúdo da sua célula estiver separado por quebras de linha, para dividi-los em várias linhas, aqui está outro código VBA que pode ajudá-lo.

 Note: Este código não ajuda desfazer é melhor fazer backup dos dados antes de aplicar este código.

Passo 1: Abra o editor do módulo VBA e copie o código

1. Pressione Alt + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. Na janela aberta, clique em inserção > 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. Depois de colar o código, pressione F5 chave para executar este código. Na caixa exibida, selecione as células que deseja dividir, veja a captura de tela:

2. Em seguida, clique OK botão, os dados nas células selecionadas são divididos em linhas conforme a imagem abaixo mostrada:


Método B: 10s para dividir o texto delimitado em várias linhas pelo Kutools para Excel

Se você instalou Kutools for Excel, Com o seu Dividir dados em linhas recurso, você pode dividir as strings de texto em várias linhas por qualquer delimitador especificado. Por favor, faça com as seguintes etapas:

Etapa 1: selecione o recurso Dividir dados em linhas

Clique Kutools > Unir e dividir > Dividir dados em linhas, veja a captura de tela:

Etapa 2: especifique as células de dados e o delimitador para divisão

Na caixa de diálogo exibida, use as seguintes opções:

  • 1). Selecione a lista de células que você deseja dividir na Intervalo (coluna única) caixa de texto;
  • 2). Em seguida, escolha o delimitador que separa seus dados, aqui, eu escolherei Outros e digite vírgula e um espaço (, ) na caixa de texto;
  • 3). Por fim, clique OK botão.

Agora, as células selecionadas com strings de texto delimitadas foram convertidas em várias linhas com base no separador específico, veja a captura de tela:

 Tips: Se você deseja restaurar os dados originais, basta pressionar Ctrl + Z para desfazer.

Fácil de usar? Interessado neste recurso, por favor clique para baixar para obter uma avaliação gratuita por 30 dias.


Método C: Divida o texto delimitado em várias linhas por Power Query

Se você estiver executando o Office 365 ou Excel 2016 e versões posteriores, Power Query é uma ferramenta poderosa que pode ajudá-lo a dividir o texto delimitado em várias linhas ou colunas. É útil se você deseja que os dados divididos sejam atualizados quando os dados originais forem alterados. Por favor, faça com as seguintes etapas para terminá-lo:

Etapa 1: coloque a tabela de dados em Power Query

1. Selecione o intervalo de dados que deseja usar e clique em Data > Da tabela, veja a captura de tela:

 Tips: No Excel 2019 e no Office 365, clique em Data > Da tabela/intervalo.

2. No pop-out Criar a tabela caixa de diálogo, clique em OK botão para criar uma tabela, veja a captura de tela:

3. Agora o Power Query editor janela é exibida com os dados, veja a captura de tela:

Passo 2: Faça as transformações em Power Query

1. Selecione a coluna que deseja dividir. E então, clique Início > Coluna dividida > Por delimitador, veja a captura de tela:

2. No Dividir Coluna por Delimitador caixa de diálogo:

Para dividir as sequências de texto por vírgula, espaço, ponto e vírgula etc., faça o seguinte:

  • 1). Escolha o delimitador que separa seus dados do Selecione ou insira o delimitador lista suspensa;
  • 2). Selecione Cada ocorrência do delimitador do Dividir em seção;
  • 3). Então clique opções avançadas para expandir a seção e selecione Linhas sob a Dividido em;
  • 4). Por fim, clique OK para fechar esta caixa de diálogo.

Para dividir strings de texto em várias linhas por quebra de link, faça o seguinte:

  • 1). Escolher Personalizadas do Selecione ou insira o delimitador lista suspensa;
  • 2). De Insira caracteres especiais suspenso, clique Alimentação de linha, e os personagens #(se) será inserido na caixa de texto sob o Personalizadas automaticamente;
  • 3). Selecione Cada ocorrência do delimitador da seção Dividir em;
  • 4). Então clique opções avançadas para expandir a seção e selecione Linhas sob a Dividido em;
  • 5). Por fim, clique OK para fechar esta caixa de diálogo.

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

Etapa 3: produza o Power Query para uma tabela do Excel

1. E então, você deve enviar os dados para sua planilha. Por favor clique Início > Fechar e carregar > Fechar e carregar / Fechar e carregar para, (aqui, vou clicar Fechar e carregar), veja a captura de tela:

 Tips: Clique Fechar e carregar produzirá os dados em uma nova planilha; Clique Fechar e carregar para opção, os dados serão enviados para qualquer outra planilha que você precisar.

2. Por fim, os dados serão carregados para uma nova planilha, veja a captura de tela:

 Tips: Se você precisar atualizar seus dados na tabela original com frequência, não se preocupe, basta clicar com o botão direito do mouse na tabela de resultados e clicar em revisar 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 integrado Text To Columns pode ajudá-lo a concluir esta etapa do trabalho por passo. Neste artigo, falarei sobre alguns bons truques para você dividir os valores das células em várias colunas ou linhas de maneira fácil e rápida.
  • Dividir uma célula em várias linhas ou colunas
  • Supondo que você tenha uma única célula que contém vários conteúdos separados por um caractere específico, por exemplo, ponto-e-vírgula, e então você deseja dividir esta célula longa em várias linhas ou colunas com base no ponto-e-vírgula, neste caso, você tem alguma maneira rápida resolver no Excel?
  • Dividir string de texto por caso
  • No Excel, geralmente dividimos o texto por largura fixa ou delimitador com a função Texto para colunas, mas você já tentou dividir o texto em 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 em minúsculas e a outra contém string em maiúsculas, como mostrado na imagem abaixo. A função Text to Columns não oferece suporte a essa operação, no entanto, posso introduzir alguns truques para dividir rapidamente a sequência de texto por caso no Excel.
  • Divida o número em dígitos individuais
  • Supondo que você precise quebrar ou dividir o número em dígitos individuais, como mostrado na imagem abaixo, o que você pode fazer para conseguir isso? Este artigo fornecerá dois métodos para você.
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations