Vai al contenuto principale

Dividi le stringhe di testo per delimitatore in più righe: 3 trucchi rapidi

Autore: Xiaoyang Ultima modifica: 2025-04-03

Normalmente, puoi utilizzare la funzione Testo in colonna per dividere il contenuto della cella in più colonne in base a un delimitatore specifico, come virgola, punto, punto e virgola, barra, ecc. Ma, a volte, potresti dover dividere il contenuto della cella delimitato in più righe e ripetere i dati da altre colonne come mostrato nell'immagine sottostante. Hai qualche buon modo per gestire questa attività in Excel? Questo tutorial introdurrà alcuni metodi efficaci per completare questo lavoro in Excel.

dividere il testo in più righe

Video: dividi le stringhe di testo per delimitatore in più righe

 


Metodo A: dividere il testo delimitato in più righe dal codice VBA

In questa sezione, introdurrò due codici VBA per aiutare a dividere i contenuti delle celle che sono separati da un certo delimitatore.

Suddividi il testo separato da virgola, spazio, punto e virgola, ecc.

Per dividere le stringhe di testo che sono separate da un normale delimitatore, come virgola, spazio, punto e virgola, barra, ecc., il seguente codice può farti un favore. Si prega di seguire i passaggi seguenti:

 Nota: questo codice non supporta la funzione Annulla, è meglio eseguire un backup dei dati prima di applicare questo codice.

Passaggio 1: apri l'editor del modulo VBA e copia il codice

1. Attiva il foglio che vuoi usare. Quindi, premi i tasti "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".

2. Nella finestra aperta, fare clic su "Inserisci" > "Modulo" per creare un nuovo modulo vuoto.

3. Quindi, copia e incolla il codice seguente nel modulo vuoto.

Codice VBA: dividi il testo per delimitatore specifico (virgola, punto, spazio, ecc.)

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   

Passaggio 2: eseguire il codice per ottenere il risultato

1. Dopo aver incollato il codice, premi il tasto "F5" per eseguire questo codice. Quindi, apparirà una finestra di richiesta per ricordarti di selezionare le celle che contengono il testo delimitato che vuoi dividere, vedi screenshot:

codice vba per selezionare le celle che contengono il testo delimitato

2. Quindi, fai clic su "OK", un'altra finestra di richiesta si apre per ricordarti di digitare il separatore in base al quale vuoi dividere i dati. Qui, digito una virgola e uno spazio (, ), vedi screenshot:

codice vba per digitare un separatore per dividere i dati in base a

3. Infine, fai clic sul pulsante "OK". Ora vedrai che le stringhe di testo selezionate sono divise in righe in base alla virgola e altri dati delle colonne relative sono ripetuti come mostrato negli screenshot qui sotto:

le stringhe di testo selezionate vengono divise in righe

Suddividi il testo separato da un'interruzione di riga

Se i contenuti della tua cella sono separati da interruzioni di riga, per dividerli in più righe, ecco un altro codice VBA che può aiutarti.

 Nota: questo codice non supporta la funzione Annulla, è meglio eseguire un backup dei dati prima di applicare questo codice.

Passaggio 1: apri l'editor del modulo VBA e copia il codice

1. Premere i tasti "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".

2. Nella finestra aperta, fare clic su "Inserisci" > "Modulo" per creare un nuovo modulo vuoto.

3. Quindi, copia e incolla il codice seguente nel modulo vuoto.

Codice VBA: dividi il testo per interruzione di riga

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 

Passaggio 2: eseguire il codice per ottenere il risultato

1. Dopo aver incollato il codice, premi il tasto "F5" per eseguire questo codice. Nella casella a comparsa, seleziona le celle che vuoi dividere, vedi screenshot:

codice vba per selezionare l'intervallo da dividere

2. Quindi, fare clic sul pulsante "OK", i dati nelle celle selezionate vengono suddivisi in righe come mostrato nello screenshot seguente:

i dati nelle celle selezionate vengono suddivisi in righe

Metodo B: 10 secondi per dividere il testo delimitato in più righe da Kutools per Excel

Se hai installato "Kutools for Excel", con la sua funzionalità "Split Data to Rows", puoi dividere le stringhe di testo in più righe tramite qualsiasi delimitatore specificato. Procedi come segue:

Kutools for Excel offre oltre 300 funzionalità avanzate per semplificare attività complesse, aumentando la creatività e l'efficienza. Interagisci con le capacità dell'IA, Kutools automatizza le attività con precisione, semplificando la gestione dei dati. Informazioni dettagliate su Kutools per Excel...         Prova gratuita...

Passaggio 1: selezionare la funzione Dividi dati in righe

Fare clic su "Kutools" > "Unisci e dividi" > "Dividi dati in righe", vedere schermata:

Fare clic su Kutools > Unisci e dividi > Dividi dati in righe

Passaggio 2: specificare le celle di dati e il delimitatore per la divisione

Nella finestra di dialogo visualizzata, utilizzare le seguenti opzioni:

  • 1). Selezionare l'elenco delle celle che si desidera dividere dalla casella di testo "Intervallo (colonna singola)";
  • 2). Quindi, scegli il delimitatore che separa i tuoi dati, qui, sceglierò "Altro" e digiterò una virgola e uno spazio (,) nella casella di testo;
  • 3). Infine, fare clic sul pulsante "OK".
Specificare le celle dati e il delimitatore per la suddivisione nella finestra di dialogo

Ora, le celle selezionate con stringhe di testo delimitate sono state convertite in più righe in base al separatore specifico, vedi screenshot:

le celle selezionate vengono convertite in più righe

 Suggerimenti: se vuoi ripristinare i dati originali, ti basta premere Ctrl + Z per annullare.

Facile da usare? Interessato a questa funzione, per favore fare clic per scaricare per ottenere una prova gratuita per 30 giorni.


Metodo C: dividere il testo delimitato in più righe per Power Query

Se utilizzi Office 365 o Excel 2016 e versioni successive, "Power Query" è uno strumento potente che può aiutarti a dividere il testo delimitato in più righe o colonne. È utile se vuoi che i dati divisi vengano aggiornati quando i tuoi dati originali cambiano. Per completarlo, segui i seguenti passaggi:

Passaggio 1: inserisci la tabella dati Power Query

1. Seleziona l'intervallo di dati che vuoi utilizzare, quindi clicca su "Dati" > "Da tabella", vedi schermata:

 Suggerimenti: in Excel 2019 e Office 365, fare clic su Dati > Da tabella/intervallo.

fare clic su Dati > Da tabella

2. Nella finestra di dialogo "Crea tabella" che si apre, fare clic sul pulsante "OK" per creare una tabella, vedere schermata:

fare clic sul pulsante OK per creare una tabella

3. Ora, il "Power Query Viene visualizzata la finestra "Editor" con i dati, vedere screenshot:

, il Power Query Viene visualizzata la finestra dell'editor con i dati

Passaggio 2: eseguire le trasformazioni Power Query

1. Seleziona la colonna che vuoi dividere. Quindi, clicca su "Home" > "Dividi colonna" > "Per delimitatore", vedi screenshot:

clicca su Home > Dividi colonna > Per delimitatore

2. Nella finestra di dialogo "Dividi colonna per delimitatore":

Per dividere le stringhe di testo per virgola, spazio, punto e virgola, ecc., eseguire le seguenti operazioni:

  • 1). Scegli il delimitatore con cui separare i tuoi dati dall'elenco a discesa "Seleziona o inserisci delimitatore";
  • 2). Selezionare "Ogni occorrenza del delimitatore" dalla sezione "Dividi in";
  • 3). Quindi, fai clic su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
  • 4). Infine, fare clic su "OK" per chiudere questa finestra di dialogo.
specificare le opzioni nella finestra di dialogo per dividere il testo tramite virgola, spazio, punto e virgola, ecc.

Per dividere le stringhe di testo in più righe tramite interruzione di riga, procedere come segue:

  • 1). Selezionare "Personalizzato" dall'elenco a discesa "Seleziona o inserisci delimitatore";
  • 2). Dal menu a discesa "Inserisci caratteri speciali", clicca su "Avanzamento riga" e i caratteri "#(lf)" verranno inseriti automaticamente nella casella di testo sotto "Personalizzato";
  • 3). Selezionare "Ogni occorrenza del delimitatore" dalla sezione "Dividi in";
  • 4). Quindi, fai clic su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
  • 5). Infine, fare clic su "OK" per chiudere questa finestra di dialogo.
specificare le opzioni nella finestra di dialogo per dividere il testo per interruzione di riga

3. Ora, i dati selezionati sono stati suddivisi in più righe come mostrato nell'immagine sottostante:

i dati selezionati sono stati suddivisi in più righe

Passaggio 3: emettere il file Power Query ad una tabella Excel

1. E poi, dovresti esportare i dati nel tuo foglio di lavoro. Clicca su "Home" > "Chiudi e carica" ​​> "Chiudi e carica / Chiudi e carica su", (qui, cliccherò su "Chiudi e carica"), vedi screenshot:

fare clic su Home > Chiudi e carica per caricare i dati

 Suggerimenti: facendo clic su Chiudi e carica i dati verranno esportati in un nuovo foglio di lavoro; facendo clic sull'opzione Chiudi e carica in, i dati verranno esportati in qualsiasi altro foglio di lavoro necessario.

2. Infine, i dati verranno caricati in un nuovo foglio di lavoro, vedi screenshot:

i dati vengono caricati in un nuovo foglio di lavoro

 Suggerimenti: se hai bisogno di aggiornare frequentemente i dati nella tabella originale, non preoccuparti, ti basta fare clic con il pulsante destro del mouse sulla tabella dei risultati e cliccare su "Aggiorna" per ottenere dinamicamente il nuovo risultato.


Articoli Correlati:

  • Dividi i valori delle celle in più colonne
  • In Excel, quando si desidera suddividere un elenco di valori di cella in più colonne in base a determinati delimitatori, come virgola, spazio, punto, nuova riga, ecc., normalmente, la funzionalità di testo in colonne incorporata può aiutarti a completare questo passaggio di lavoro per gradino. In questo articolo, parlerò di alcuni buoni trucchi per dividere i valori della cella in più colonne o righe in modo facile e veloce.
  • Dividi una cella in più righe o colonne
  • Supponendo di avere una singola cella che contiene più contenuti separati da un carattere specifico, ad esempio, punto e virgola, e quindi si desidera dividere questa lunga cella in più righe o colonne in base al punto e virgola, in questo caso, hai dei modi rapidi risolverlo in Excel?
  • Dividi la stringa di testo per caso
  • In Excel, di solito dividiamo il testo in base a larghezza fissa o delimitatore con la funzione Testo in colonne, ma hai mai provato a dividere il testo in maiuscolo e minuscolo? Ad esempio, hai un elenco di dati e devi dividerli in due colonne in base al caso: una colonna contiene una stringa minuscola e l'altra contiene una stringa maiuscola come mostrato nell'immagine sottostante. La funzione Text to Columns non supporta questa operazione, tuttavia, posso introdurre un trucco per dividere rapidamente la stringa di testo per caso in Excel.
  • Dividi il numero in singole cifre
  • Supponendo di dover rompere o dividere il numero in singole cifre come mostrato nell'immagine sottostante, cosa puoi fare per ottenerlo? Questo articolo fornirà due metodi per te.
{# article_7328_afterDisplayContent #}