Skip to main content

Dividi Stringhe di Testo per Delimitatore in Più Righe - 3 Trucchi Veloci

Author: Xiaoyang Last Modified: 2025-05-30

Normalmente, puoi utilizzare la funzione Testo in Colonne per dividere il contenuto delle celle in più colonne tramite un delimitatore specifico, come virgola, punto, punto e virgola, barra, ecc. Tuttavia, a volte potresti aver bisogno di dividere i contenuti delle celle delimitati in più righe e ripetere i dati dalle altre colonne, come mostrato nello screenshot sottostante. Hai qualche buon metodo per gestire questa operazione in Excel? Questa guida introdurrà alcuni metodi efficaci per completare questo compito in Excel.

split text into multiple rows

Video: Dividi stringhe di testo per delimitatore in più righe

 


Metodo A: Dividi testo delimitato in più righe con codice VBA

In questa sezione, introdurrò due codici VBA per aiutare a dividere il contenuto delle celle separate da un determinato delimitatore.

Dividi testo separato da virgola, spazio, punto e virgola, ecc.

Per dividere le stringhe di testo che sono separate da un delimitatore comune, come virgola, spazio, punto e virgola, barra, ecc., il seguente codice può esserti utile. Segui i passaggi seguenti:

 Nota: Questo codice non supporta Annulla, quindi è meglio eseguire il backup dei dati prima di applicare questo codice.

Passo 1: Apri l'editor del modulo VBA e copia il codice

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

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

3. Successivamente, copia e incolla il codice sottostante nel modulo vuoto.

Codice VBA: Dividi 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   

Passo 2: Esegui il codice per ottenere il risultato

1. Dopo aver incollato il codice, premi il tasto "F5" per eseguirlo. Poi, apparirà una finestra di dialogo che ti chiederà di selezionare le celle contenenti il testo delimitato che desideri dividere, vedi screenshot:

vba code to select the cells contain the delimited text

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

vba code to typ a separator split the data based on

3. Infine, clicca sul pulsante "OK". Ora vedrai che le stringhe di testo selezionate sono state divise in righe in base alla virgola e i dati delle altre colonne relative sono stati ripetuti come mostrato negli screenshot sottostanti:

the selected text strings are split into rows

Dividi testo separato da interruzione di riga

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

 Nota: Questo codice non supporta Annulla, quindi è meglio eseguire il backup dei dati prima di applicare questo codice.

Passo 1: Apri l'editor del modulo VBA e copia il codice

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

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

3. Successivamente, copia e incolla il codice sottostante nel modulo vuoto.

Codice VBA: Dividi 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 

Passo 2: Esegui il codice per ottenere il risultato

1. Dopo aver incollato il codice, premi il tasto "F5" per eseguirlo. Nella finestra pop-up, seleziona le celle che desideri dividere, vedi screenshot:

vba code to selec the range to split

2. Quindi, clicca sul pulsante "OK", i dati nelle celle selezionate verranno divisi in righe come mostrato nello screenshot sottostante:

the data in the selected cells are split into rows

Metodo B: 10s per dividere testo delimitato in più righe con Kutools per Excel

Se hai installato "Kutools per Excel", con la sua funzione "Suddividi in più righe", puoi dividere le stringhe di testo in più righe utilizzando qualsiasi delimitatore specificato. Procedi con i seguenti passaggi:

Kutools per Excel offre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza. Integrato con capacità di intelligenza artificiale, Kutools automatizza le attività con precisione, rendendo la gestione dei dati senza sforzo. Informazioni dettagliate su Kutools per Excel... Prova gratuita...

Passo 1: Seleziona la funzione Suddividi in più righe

Clicca su "Kutools" > "Unisci & Dividi" > "Suddividi in più righe", vedi screenshot:

Click Kutools > Merge & Split > Split Data to Rows

Passo 2: Specifica le celle dei dati e il delimitatore per la suddivisione

Nella finestra di dialogo pop-up, usa le seguenti opzioni:

  • 1). Seleziona l'elenco delle celle che desideri dividere dalla casella di testo "Intervallo (singola colonna)";
  • 2). Poi, scegli il delimitatore che separa i tuoi dati, qui sceglierò "Altro" e digiterò una virgola e uno spazio (, ) nella casella di testo;
  • 3). Infine, clicca sul pulsante "OK".
Specify the data cells and delimiter for splitting in the dialog box

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

the selected cells are converted into multiple rows

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

Facile da usare? Interessato a questa funzione? Clicca per scaricare una prova gratuita di 30 giorni.


Metodo C: Dividi testo delimitato in più righe con Power Query

Se stai utilizzando Office 365 o Excel 2016 e versioni successive, "Power Query" è uno strumento potente che può aiutarti a dividere testo delimitato in più righe o colonne. È utile se desideri che i dati divisi vengano aggiornati quando cambiano i dati originali. Procedi con i seguenti passaggi per completarlo:

Passo 1: Ottieni la tabella dati in Power Query

1. Seleziona l'intervallo di dati che desideri utilizzare, poi clicca su "Dati" > "Da Tabella", vedi screenshot:

 Suggerimenti: In Excel 2019 e Office 365, clicca su Dati > Da Tabella/Intervallo.

click Data > From Table

2. Nella finestra di dialogo "Crea Tabella" pop-up, clicca sul pulsante "OK" per creare una tabella, vedi screenshot:

click OK button to create a table

3. Ora, la finestra "Editor Power Query" viene visualizzata con i dati, vedi screenshot:

the Power Query Editor window is displayed with the data

Passo 2: Esegui le trasformazioni in Power Query

1. Seleziona la colonna che desideri dividere. Poi, clicca su "Home" > "Dividi Colonna" > "Per Delimitatore", vedi screenshot:

click Home > Split Column > By Delimiter

2. Nella finestra di dialogo "Dividi Colonna per Delimitatore":

Per dividere le stringhe di testo per virgola, spazio, punto e virgola, ecc., procedi in questo modo:

  • 1). Scegli il delimitatore con cui sono separati i tuoi dati dall'elenco a discesa "Seleziona o inserisci delimitatore";
  • 2). Seleziona "Ogni occorrenza del delimitatore" dalla sezione "Dividi a";
  • 3). Poi, clicca su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
  • 4). Infine, clicca su "OK" per chiudere questa finestra di dialogo.
specify the options in the dialog box to split the text by comma, space, semicolon, etc

Per dividere stringhe di testo in più righe per interruzione di riga, procedi in questo modo:

  • 1). Scegli "Personalizzato" dall'elenco a discesa "Seleziona o inserisci delimitatore";
  • 2). Dall'elenco a discesa "Inserisci caratteri speciali", clicca su "Interruzione di riga", e i caratteri "#(lf)" verranno inseriti automaticamente nella casella di testo sotto "Personalizzato";
  • 3). Seleziona "Ogni occorrenza del delimitatore" dalla sezione "Dividi a";
  • 4). Poi, clicca su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
  • 5). Infine, clicca su "OK" per chiudere questa finestra di dialogo.
specify the options in the dialog box to split the text by line break

3. Ora, i dati selezionati sono stati divisi in più righe come mostrato nello screenshot sottostante:

the selected data has been split into multiple rows

Passo 3: Esporta Power Query in una tabella Excel

1. Poi, devi esportare i dati nel tuo foglio di lavoro. Clicca su "Home" > "Chiudi & Carica" > "Chiudi & Carica / Chiudi & Carica In", (qui cliccherò su "Chiudi & Carica"), vedi screenshot:

click Home > Close & Load to load the data

 Suggerimenti: Cliccando su Chiudi & Carica, i dati verranno esportati in un nuovo foglio di lavoro; cliccando su Chiudi & Carica In, i dati verranno esportati in qualsiasi altro foglio di cui hai bisogno.

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

the data is loaded to a new worksheet

 Suggerimenti: Se hai bisogno di aggiornare frequentemente i dati nella tabella originale, non preoccuparti, basta fare clic con il tasto destro sulla tabella risultante e cliccare su "Aggiorna" per ottenere dinamicamente il nuovo risultato.


Articoli Correlati:

  • Dividi valori delle celle in più colonne
  • In Excel, quando vuoi dividere un elenco di valori delle celle in più colonne tramite determinati delimitatori, come virgola, spazio, punto, nuova riga, ecc., normalmente la funzione incorporata Testo in Colonne può aiutarti a completare questo compito passo dopo passo. In questo articolo, parlerò di alcuni trucchi utili per dividere facilmente e rapidamente i valori delle celle in più colonne o righe.
  • 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 poi vuoi dividere questa lunga cella in più righe o colonne basandoti sul punto e virgola, in questo caso, hai qualche metodo rapido per risolverlo in Excel?
  • Dividi stringa di testo per maiuscole/minuscole
  • In Excel, di solito dividiamo il testo per larghezza fissa o delimitatore con la funzione Testo in Colonne, ma hai mai provato a dividere il testo per maiuscole e minuscole? Ad esempio, hai un elenco di dati, e devi dividerli in due colonne in base al caso: una colonna contiene stringhe minuscole, e l'altra contiene stringhe maiuscole come mostrato nello screenshot sottostante. La funzione Testo in Colonne non supporta questa operazione, tuttavia, posso introdurre un trucco per dividere rapidamente stringhe di testo per maiuscole/minuscole in Excel.
  • Dividi numeri in cifre individuali
  • Supponendo che tu debba spezzare o dividere un numero in cifre individuali come mostrato nello screenshot sottostante, cosa puoi fare per raggiungere questo obiettivo? Questo articolo fornirà due metodi per te.